上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页
摘要: 编译程序时放在符号表里的不光是内存地址和函数/变量的对应关系,还有很多在编译时要用到的信息。比如该节点的各种属性(类型,作用域,分配空间大小,(函数)的参数类型)等等。符号表与编译的各个阶段都有交互。对符号表的具体使用方法每个编译器都不同。 目标文件中的符号表用来输出函数/变量符号信息,供连接时给其他模块引用。这种符号表中主要包含函数/变量的名称和地址对应关系,其中的地址一般是位置无关码(PIC码)。( 节点是指分析树上的某个节点。看看编译的书你即可明白。:) 位置无关码是指代码中出现的内存地址和具体运行环境无关(相对地址),这样的代码可被loader载入内存中的任意某个位置运行。从而增... 阅读全文
posted @ 2013-07-18 21:54 z折腾 阅读(3748) 评论(0) 推荐(0) 编辑
摘要: GDBTable of Contents1 GDB 1.1 载入程序和core 1.2 断点 1.3 流程控制 1.4 查看代码 1.5 查看变量 1.6 堆栈相关 1.7 线程相关 1.8 汇编相关 1.9 插件 1 GDB1.1 载入程序和core载入程序 gdb –args ./myprogram arg1 arg2 …载入core gdb -c core.xxxx ./myprogram载入core gdb ./myprogram core.xxxxattach进程 gdb -p 1.2 断点断点到当前文件某个函数 break 断点到当前文件某行 break 断点到某个文件位置 bre 阅读全文
posted @ 2013-07-17 22:20 z折腾 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 一、$(@F)表示"$@"的文件部分,如果"$@"值是"dir/foo.o",那么"$(@F)"就是"foo.o","$(@F)"相当于函数"$(notdir $@)"。"$(*D)""$(*F)"和上面所述的同理,也是取文件的目录部分和文件部分。对于上面的那个例子,"$(*D)"返回"dir",而"$(*F)"返回"foo"" 阅读全文
posted @ 2013-07-15 23:27 z折腾 阅读(993) 评论(0) 推荐(0) 编辑
摘要: 一、ar的基本用法 ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。 下面是ar命令的格式: ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files... 例如我们可以用ar rv libtest.a hello.o hello1.o来生成一个库,库名字是test,链接时可以用-ltest链接。该库中存放了两个模块hello.o和hello1.... 阅读全文
posted @ 2013-07-15 22:19 z折腾 阅读(2867) 评论(1) 推荐(1) 编辑
摘要: 一、用vim打开文件 显示行号 vi ~/.vimrc 在文件里输入 set nu 就行了二、vim跳到指定行 :三、复制一行 yy四、粘贴 p五、删除当前行 dd 阅读全文
posted @ 2013-07-15 22:19 z折腾 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 常用参数格式:ar rcs libxxx.a xx1.o xx2.o libxxx.a是你需要生成的静态库; xx1.o xx2.o 是需要打包依赖的.o文件;注意可以是.a文件(例如ar rcs libxxx.a xx1.o xx2.a)r: 在库中插入模块(替换)。当插入的模块名已经在库中存在,则替换同名的模块。 如果若干模块中有一个模块在库中不存在,ar显示一个错误消息,并不替换其他同名模块。默认的情况下,新的成员增加在库的结尾处,可以使用其他任选项来改变增加的位置。【1】c:创建一个库。不管库是否存在,都将创建。s:创建目标文件索引,这在创建较大的库时能加快时间。(补充:... 阅读全文
posted @ 2013-07-13 16:49 z折腾 阅读(2016) 评论(0) 推荐(0) 编辑
摘要: -Wall GCC还有一些其它编译选项也能够产生有用的警告信息。这些选项大多以-W开头,其中最有价值的当数-Wall了,使用它能够使GCC产生尽可能多的警告信息。 阅读全文
posted @ 2013-07-13 16:32 z折腾 阅读(770) 评论(0) 推荐(0) 编辑
摘要: wildcard : 扩展通配符例子: 建立一个测试目录,在测试目录下建立一个名为sub的子目录$ mkdir test$ cd test$ mkdir sub在test下,建立a.c和b.c2个文件,在sub目录下,建立sa.c和sb.c2 个文件建立一个简单的Makefilemake以后得到的输入是:a.c ./sub/sa.cendwildcard把 指定目录 ./ 和 ./sub/ 下的所有后缀是c的文件全部展开。 阅读全文
posted @ 2013-07-13 16:26 z折腾 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 百度首页|登录注册新闻网页贴吧知道音乐图片视频地图百科文库帮助首页自然文化地理历史生活社会艺术人物经济科技体育图片数字博物馆核心用户百科商城进程调度百科名片进程调度无论是在批处理系统还是分时系统中,用户进程数一般都多于处理机数、这将导致它们互相争夺处理机。另外,系统进程也同样需要使用处理机。这就要求进程调度程序按一定的策略,动态地把处理机分配给处于就绪队列中的某一个进程,以使之执行。目录基本属性基本状态处理机方式算法实现功能展开基本属性基本状态处理机方式算法实现功能展开编辑本段基本属性1.多态性 从诞生、运行,直至消灭。进程调度2.多个不同的进程可以包括相同的程序3.三种基本状态 它们之间可进 阅读全文
posted @ 2013-07-10 21:51 z折腾 阅读(737) 评论(0) 推荐(0) 编辑
摘要: 例如:这里会发生什么状况 int main() { pthread_create();//此线程陷入死循环 return 0; }程序立马结束;应为pthread_create并不需要等待函数返回;产生一个线程后;继续执行。 阅读全文
posted @ 2013-07-10 21:31 z折腾 阅读(337) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 14 下一页