上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 25 下一页

2013年1月18日

nfs

摘要: 记个事,nfs系统作为根文件系统启动参数没有使用u-boot中传入的参数,内核中自己指定。ubuntu中安装nfs服务端开发板: General setup--->取消Initial RAM filesystem and RAM disk (initramfs/initrd) support设置 Boot options--->取消Passing CMDLINE from u-boot,并设置启动内核指定启动参数root=/dev/nfs rw nfsroot=192.168.0.1:/nfs,v3 ip=192.168.0.2:192.168.0.1:192.168.0.1:25 阅读全文

posted @ 2013-01-18 09:26 阿加 阅读(223) 评论(0) 推荐(0) 编辑

2013年1月16日

kbuild

摘要: 1 kbuild.txt 2 3 KBUILD_VERBOSE 4 -------------------------------------------------- 5 Set the kbuild verbosity. Can be assigned same values as "V=...". 6 See make help for the full list. 7 Setting "V=..." takes precedence over KBUILD_VERBOSE. 8 9 KBUILD_EXTMOD 10 --------------- 阅读全文

posted @ 2013-01-16 19:28 阿加 阅读(295) 评论(0) 推荐(0) 编辑

collect2

摘要: collect2在链接时它代替ld成了最终的链接器,一般情况下就可以简单的将它看成ld。实际上collect2时ld的一个包装,它最终还是调用ld完成所有的链接工作,那么collect2这个程序的作用时什么呢? 在有些系统上,汇编器和连接器并不支持".init" ".ctor"这些机制,于是为了实现在main函数前执行代码,必须在链接时进行特殊处理。collect2这个程序就是用来实现这个功能的,它会“收集”(collect)所有输入目标文件中那些命名特殊的符号,这些特殊符号表明它们是全局构造函数或在main前执行,collect2会生成一个临时的.c文 阅读全文

posted @ 2013-01-16 14:15 阿加 阅读(475) 评论(0) 推荐(0) 编辑

2013年1月15日

3和b

摘要: 记个事: 611在开了dcache情况下,对IO空间地址3和b开头的部分访问结果不同,3开头的被cache住了,而b开头的没有被cache住,3和b还是有区别的. 611BP的FPGA镜像就存在这样的问题,搞了半天才明白 阅读全文

posted @ 2013-01-15 22:28 阿加 阅读(169) 评论(0) 推荐(0) 编辑

2013年1月12日

malloc 堆实现——空闲链表

摘要: //程序员的自我修养,p_417 阅读全文

posted @ 2013-01-12 22:36 阿加 阅读(228) 评论(0) 推荐(0) 编辑

终端技艺

摘要: 将sh的链接属性改为bash遇到个情况:打开了好多终端,结果使用vim打开文件的时候将会出现重复打开的现象,结果不知道在哪个终端中打开了,方法:根据vim报出的进程号,使用ps aux | grep 进程号 获取pts编号1、tty 命令获取终端号2、在几个终端下运行 who am i 可以查看相应终端的终端号3、直接: write username /dev/pts/3 CR xxxxxxxxxxxxx 查看哪个终端下出现了消息:xxxxxxxxxxx附:禁止别人把信息显示在我的终端mesg n允许别人把信息显示在我的终端mesg ywall 向所有人发送命令:echo "hell 阅读全文

posted @ 2013-01-12 16:40 阿加 阅读(245) 评论(0) 推荐(0) 编辑

2012年12月27日

Hello World

摘要: /*TinyHelloWorld.c */ 1 char * str = "Hello world!\n"; 2 3 void print() 4 { 5 asm( "movl $13, %%edx \n\t" 6 "movl %0, %%ecx \n\t" 7 "movl $0, %%ebx \n\t" 8 "movl $4, %%eax \n\t" 9 "int $0x80 \n\t" 10 ::"r"(str):"edx", &q 阅读全文

posted @ 2012-12-27 13:45 阿加 阅读(351) 评论(0) 推荐(0) 编辑

2012年12月26日

弱引用和强引用

摘要: 如果目标文件对外部目标文件符号进行强引用,但在链接成可执行文件时不能被正确的决议(好奇怪的名称,看看p_51),链接器就会报错,这是对于强引用(Strong Reference)而言的。与之相对应还有一种弱引用(Weak Reference),在处理弱引用时,如果该符号有定义,则链接器将对该符号的引用进行决议,如果该符号未被定义,则链接器对于该引用不报错。链接器处理强引用和弱引用的过程几乎一样,但是对于未定义的弱引用,链接器不认为它是一个错误;一般,对于未定义的弱引用,链接器默认其值为0,或者是一个特殊值,以便于程序代码能够识别。弱引用和弱符号主要用于库的链接过程。在GCC中,使用__attr 阅读全文

posted @ 2012-12-26 22:07 阿加 阅读(1944) 评论(0) 推荐(0) 编辑

弱符号与强符号

摘要: 多个目标文件中含有相同名字全局符号的定义,那么这些目标文件链接的时候将会出现符号重复定义的错误。比如我们在目标文件A和目标文件B都定义了一个全局整形变量global,并将他们都初始化,那么链接器将A和B进行链接时会报错。这种符号的定义可以被成为强符号(Strong Symbol)。有些符号的定义可以被称为弱符号(Weak Symbol)。对于C/C++语言来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号。通过GCC的"__attribute__((weak))"可以定义任何一个强符号为弱符号。强符号和弱符号都是针对定义来说的,不是针对符号的引用。 阅读全文

posted @ 2012-12-26 22:05 阿加 阅读(491) 评论(0) 推荐(0) 编辑

符号修饰与函数签名

摘要: p_87Linux下的GCC编译器中,默认情况下已经去掉了在C语言符号前加"_"的方式,但是Windows平台下的编译器还保持着在符号前加"_"的习惯。函数签名使得函数在目标文件中的符号变成与其源文件的函数名、函数参数、所在的类和名称空间及其它信息关联了起来。函数签名经名称修饰变成修饰后名称目标文件中的符号名,变量亦如此。c++filt工具可以用来解析被修饰过的名称,比如:c++filt _ZN1N1C4funcEi输出:N::C::func(int)C++为了与C兼容,在符号管理上,C++有一个用来声明或定义一个C符号的"extern &qu 阅读全文

posted @ 2012-12-26 17:58 阿加 阅读(267) 评论(0) 推荐(0) 编辑

上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 25 下一页

导航