嵌入式Linux编译器gcc使用
At first, GCC is used for GNU C Compiler. At present,it supports JAVA Ada C++ and so on.
GCC编译流程分为:
1.Pre-Processing(预处理)
gcc -E -o hello.i hello.c
选项-E 使得编译器在预处理结束时停止编译
选项-o 指定GCC的输出结果
.i/.ii 经过预处理的C/C++源程序
2.Compiling(编译)
gcc -S -o hello.s hello.i
选项-S 使得编译器在编译结束,进行汇编之前停止编译
.s 汇编语言源程序
3.Assembling (汇编)
gcc -c hello.s hello.o
选项-c 汇编阶段将汇编代码转为二进制目标代码
4.Linking(链接)
gcc hello.o -o hello
将程序中用到的库函数如printf的实现从默认的路径"/usr/lib/libc.so.6"链接过来
现在即可运行可执行文件hello
GCC警告提示:
1.Wall类警告提示
占GCC警告选项90%以上,建议使用选项-Wall,即打开所有警告:
gcc -Wall wrong.c -o wrong
2.非Wall类警告提示
"-ansi" 强制GCC生成的标准语法所要求的告警信息,并不保证所有没有警告的程序都是符合ANSI C标准
”-pedantic“ 允许发出ANSI C标准所列的全部警告信息,保证所有没有警告的程序都是符合ANSI C标准
gcc -pedantic wrong.c -o wrong
GCC使用库函数
Linux中有3种库函数形式:
1.静态 后缀为.a
静态库的代码在编译时就已经连接到应用程序中
2.共享 后缀为.so和版本号
在程序开始运行时才载入
3.动态 后缀为.so和版本号
在程序中的语句需要使用该函数时才调用,调用结束后释放动态库所占内存
动态库和共享库只包含对库函数的引用,代码规模较小
Linux系统所用的库都放在 /usr/lib 和 /lib 目录下
库文件的路径通常不在系统默认路径下,则需要使用调用路径选项来指定相关库文件的位置
1. ” -I dir &
相关文档:
Linux要安装mssql扩展,必须首先安装freetds,安装过程如下:
1、假设源文件目录为/webServ,安装目录为/opt/freetds。
1) >cd /webServ
2) 下载, >wget ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
3) 解压, >tar -zxvf freetds-stable.tgz
4) 进入, >cd freetds-0。 ......
1、下载phpMyAdmin至web服务器目录并重命名为:phpmyadmin。假设服务器目录为www,则存放位置为www/phpmyadmin,访问路径为http://localhost/phpmyadmin
2、复制"/phpmyadmin/libraries/"目录下的"config.default.php"文件至"/phpmyadmin/"目录下,并重命名为"config.inc.php"
3 ......
一。linux系统的默认编码设置。
/etc/sysconfig/i18n
Controls the system font
settings. The language variables are used in /etc/profile.d/lang.sh. An
example i18n file:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN ......
改目标:用自定义的ppm图片替代/drivers/video/logo/logo_linux_clut224.ppm
同时删除logo_linux_clut224.c logo_linux_clut224.o文件这样才能使编译的使用logo_linux_clut224.ppm重新编译
ppm图片的生成:
# pngtopnm logo_linux_clut224.png > logo_linux_clut224.pnm
# pnmquant 224 logo_linux_clut224.pnm > ......