xNix开发
萤光
一个软件工人,一个经济学爱好者
展开
-
使用AR工具管理库文件需要注意的问题
一些工程的Makefile文件常采用递归形式增量产生.a库文件,如:vxworks5.4中makek采用的是对src中每个叶目录分别编译,然后加入库中,语句为$(TGT_DIR)/lib/$(LIBNAME): $(LIBOBJS) AR crus .......这样有两个问题:1、很多平台下采用AR工具增量方式生成库文件效率低下,还不如在编译完成原创 2006-06-02 08:56:00 · 1465 阅读 · 0 评论 -
关于不同平台下的回车换行(from bbs.chinaunix.net)
在win里面把/r/n作为文本文件一行的结束。在UNIX里面把/n作为文本文件的一行结束。而在MAC里面则是把/r作为文本文件一行的结束。 在不同平台间ftp文件的话,如果使用ascii模式,则会自动修改成适合自己文件系统的形式。用C的的f系列文件操作函数的时候,如果不加b参数,也会自动进行处理。 在VMS(VAX和DEC机器)ascii文件一行转载 2006-06-20 16:40:00 · 1217 阅读 · 0 评论 -
在代码中加入行号
今天在网上找了半天,也没找到在源代码中加入行号的方法,记得以前上课的时候老师说过,可惜了,当时没记下来,“好记忆不如烂笔头”啊!好在网上有提到用grep来加入行号,自己也这么想过但总觉得不完美,就是用“grep . mycode.c -n > mynewcode.c”,这样有字符的行都显示出来了,但空白行就没了,有些郁闷,-_-!好在学校里同学提醒,cat命令就能显示行号,这下好办了:“c原创 2006-06-16 16:09:00 · 1582 阅读 · 0 评论 -
中断方式实现发送数据串口驱动
在网上找了不少串口方面的资料,国内的资料都没有提到如何用中断方式来实现串口数据发送。其实,采用中断方式实现串口数据发送和采用中断方式实现串口数据接收的过程差不多,都需要开放8259的IRQ3或IRQ级中断,并需要设定modem控制寄存器使OUT2输出低电平,设置中断允许寄存器开放发送和接收中断。 这里有一点需要注意,《The Art of assembly language prog原创 2006-06-23 18:22:00 · 5579 阅读 · 0 评论 -
[Linux命令] ld中文使用手册完全版(from:http://huqingyu.cnblogs.com/archive/2005/02/28/110468.html)
使用ld ******** 本文档介绍GNU连接器ld的2.14版本. 本文档在GNU自由文档许可证下发行.在"GNU自由文档许可证"一章中有关于本许可证的一份拷贝. 概述 ******** ld把一定量的目标文件跟档案文件连接起来,并重定位它们的数据,连接符号引用.一般,在编译一个程序 时,最后一步就是运行ld. ld能接受连接命令语言文件,这是一种用AT&T的连接编辑命令语言的超集转载 2006-07-04 16:53:00 · 6452 阅读 · 0 评论 -
Linux下编译生成RTEMS4.6.5
这几天项目需要,编译了一回RTEMS4.6.5。走了一小段弯路,再次明白了Linux下东西不是越新越好的。首先是下载开发包rtems-4.6.5.tar.bz2 和文档包 rtemsdocs-4.6.5.tar.bz2,然后是阅读文档包中的start.pdf文件,弄清楚RTEMS4.6.5的编译要求。一开始我就是因为没看这些东西,都下的最新的GCC、GDB、BINUTILS弄得后面RTEMS编原创 2006-07-11 15:44:00 · 1376 阅读 · 0 评论 -
GCC参数详解(from: http://oisp.net/viewthread.php?tid=161)
GCC参数详解下面的东西可能也不是很全面但对初学者有帮助。[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld转载 2006-08-02 16:33:00 · 12443 阅读 · 0 评论 -
使用ld的“-Ttext”选项时可能产生的一个问题的解决方法
在目标文件生成以后,需要使用gnu工具链中的链接器ld将目标文件链接成可执行文件,ld中的“-Ttext”选项可以用来指定链接生成的文件中代码段存放的内存位置,这一功能在开发操作系统等系统软件或生成可加载模块时非常有用。但是有些情况下采用这一选项,ld链接器并不能正确执行,而会在链接时报错:“Not enough room for program headers ”,这时你很难通过修改代码来改正错原创 2006-08-14 10:22:00 · 3294 阅读 · 0 评论 -
printf记录程序日志,彻底告别vsnprintf
通常我们需要在程序中输出部分日志信息,并把它记录到文件中。在这种情况下,使用printf可以为我们带了很大方便。因为printf却省情况下是向stdout即控制台屏幕输出信息,在GUI程序中,我们看不到printf的输出结果,但是我们可以将该输出重定向到指定的文件中。转载 2010-09-09 18:33:00 · 8431 阅读 · 1 评论