linux系统中如何编译c程序

linux系统中如何编译c程序

ID:36315347

大小:2.14 MB

页数:56页

时间:2019-05-09

linux系统中如何编译c程序_第1页
linux系统中如何编译c程序_第2页
linux系统中如何编译c程序_第3页
linux系统中如何编译c程序_第4页
linux系统中如何编译c程序_第5页
资源描述:

《linux系统中如何编译c程序》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux操作系统上课教师:张利上课时间:2009年春季Linux系统中如何编译C程序登陆后用vi写一个C程序:过程如下:viHelloLinux.c回车进入后选择一种输入方式(a,i,o);#includemain(){printf("HelloLinux!");}Linux操作系统Linux系统中如何编译C程序用Vi输入程序时,修改,编辑代码很复杂,可以用“application”中的“附件”的“文本编辑器”进行编辑#includemain(){printf("HelloLinux!");}Linux操作系统写完程序后Esc并保存退出(:w“保存”:q“退出”)然

2、后用gcc编译:gccHelloLinux.c回车用ls查看就会看到一个HelloLinux.out文件,下面我们运行它;。/HelloLinux.out回车将会显示Hellolinux!Linux操作系统linux下对C代码的编译在linux下对C代码的编译时极其简单的,但是,不能忘记步骤。要进入自己所要的目录:cd文件名如果要是返回上级目录:cd……要查看下面的子目录:ls或者ll建立新目录:mkdir文件名删除空目录:rmdir文件名非空的rm编译:gcc-otesttest.c输出:。/testLinux操作系统Linux平台下关于GCC编译及使用的方法编译:第一步、

3、是进行预编译,使用-E参数可以让GCC在预处理结束后停止编译过程:gcc-Ehello.c-ohello.i预处理的宏定义插入到hello.i中第二步、是将hello.i编译为目标代码,这可以通过使用-c参数来完成:gcc-chello.i-ohello.o也可以通过源文件直接生成gcc-chello.c第三步、是将生成的目标文件链接成可执行文件:gcchello.o-ohello也可以通过源文件直接生成gcc-ohellohello.cLinux操作系统警告:1、-pedantic选项,那么使用了扩展语法的地方将产生相应的警告信息2、-Wall使用它能够使GCC产生尽可能多

4、的警告信息3、-Werror,它要求GCC将所有的警告当成错误进行处理库依赖:1、Linux下的大多数函数都默认:头文件放到/usr/include/目录下而库文件则放到/usr/lib/目录下Linux操作系统2、GCC在编译时必须有自己的办法来查找所需要的头文件和库文件。-I选项可以向GCC的头文件搜索路径中添加新的目录。例如,如果在/home/xiaowp/include/目录下有编译时所需要的头文件,为了让GCC能够顺利地找到它们,就可以使用-I选项:gcc-otesttest.c-I/home/xiaowp/include-L选项向GCC的库文件搜索路径中添加新的目

5、录例如,如果在/home/xiaowp/lib/目录下有链接时所需要的库文件libfoo.so,为了让GCC能够顺利地找到它,可以使用下面的命令gcc-otesttest.c-L/home/xiaowp/lib-lfoo值得好好解释一下的是-l选项,它指示GCC去连接库文件libfoo.so.Linux操作系统Linux下的库文件在命名时有一个约定,那就是应该以lib三个字母开头,由于所有的库文件都遵循了同样的规范,因此在用-l选项指定链接的库文件名时可以省去lib三个字母,也就是说GCC在对-lfoo进行处理时,会自动去链接名为libfoo.so的文件。-static选项,

6、强制使用静态链接库如果在/home/xiaowp/lib/目录下有链接时所需要的库文件libfoo.so和libfoo.a为了让GCC在链接时只用到静态链接库,可以使用下面的命令:gcc-otesttest.c-L/home/xiaowp/lib-static-lfoo选项-O可以告诉GCC同时减小代码的长度和执行时间,其效果等价于-O1.在这一级别上能够进行的优化类型虽然取决于目标处理器,但一般都会包括线程跳转(ThreadJump)和延迟退栈(DeferredStackPops)两种优化。Linux操作系统选项-O2告诉GCC除了完成所有-O1级别的优化之外,同时还要进行

7、一些额外的调整工作,如处理器指令调度等。选项-O3则除了完成所有-O2级别的优化之外,还包括循环展开和其它一些与处理器特性相关的优化工作。通常来说,数字越大优化的等级越高,同时也就意味着程序的运行速度越快。许多Linux程序员都喜欢使用-O2选项,因为它在优化长度、编译时间和代码大小之间,取得了一个比较理想的平衡点。time./test查看程序执行时间优化虽然能够给程序带来更好的执行性能,但在如下一些场合中应该避免优化代码:Linux操作系统程序开发的时候优化等级越高,消耗在编译上的时间就越长,因此在开

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。