- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux下得c编程
Linux下的C程序编程 主要内容 GCC编译器 一、GCC编译器 1、GCC是什么 GCC(GNU C Complier)是符合ANSI C标准的多平台编译器。GCC通过后缀来区别输入文件的类型,集成C、C++、JAVA等多种语言编译器。 c C语言源代码文件。 h 程序所包含的头文件。 o 编译后的目标文件。 i 已经预处理过的C源代码文件。 s 汇编语言源代码文件。 S 经过预编译的汇编语言源代码文件。 C、cpp、.cc或.cxx C++源代码文件。 ii 己经预处理过的C++源代码文件。 a 由目标文件构成的档案库文件。 2、GCC工作流程 起步演示helloworld hello.c #include stdio.h int main(void) { printf (“hello world!\n”); return 0; } 编译运行这段程序: gcc hello.c –o hello ./hello 输出:hello world! 3、基本使用 基本用法: gcc [options] [filenames] options:编译器所需要的编译选项 filename:要编译的文件名 GCC有超过100个的编译选项。选项的合理使用对编译调试程序有很大作用。只介绍其中最基本、最常用的参数 -o output_filename:确定可执行文件的名称为output_filename.如果不给出这个选项,gcc就给出预设的可执行文件a.out #include stdio.h int main(void) { double counter; double result; double temp; for(counter=0;counter2000.0*2000.0*2000.0/20.0+2020;counter+=(5-1)/4){ temp=counter/1979; result=counter; } printf(“result is %lf\n”,result); return 0; } gcc optimize.c –o optimize time ./optimize gcc –O optimize.c –o optimize time ./optimize 对比两次执行的输出结果不难看出,程序的性能的确的到了很大幅度的改善 -w 关闭所有警告,建议不要使用此项 -Wall 允许发出gcc能提供的所有有用的警告,也可以用-W(warning)来标记指定的警告 多个文件的编译 vi main.c #include stdio.h void chessboard(); void stair(); main() { chessboard(); stair(); } vi chessboard.c #include stdio.h void chessboard() { int i,j; for (i=0;i8;i++) { for(j=0;j8;j++) if((i+j)%2==0) printf(%c%c,0xa1,0xf6); else printf( ); printf(\n); } printf(\n); } 常见错误 语法错误: 错误信息:文件source.c中第 n 行有语法错误(syntex error)。 头文件错误 错误信息:找不到头文件head.h ( can not find include file head.h)。 函数库错误 错误信息:链接程序找不到所需的函数库。如:ld:-lm:No such file or directory 二、GDB调试器 1、GDB介绍 GDB调试器主要用于调试可执行文件,这个文件必须提供调试版本,包含调试信息。 所以,编译程序时一定用调试选项使生成的可执行文件内包含调试信息,常用-g。 调试信息包含程序里每个变量的类型和在可执行文件里的地址映射及行号。 主要功能: 监视程序中变量的值 设置断点 逐行执行代码 起步调试test.c GDB快速进阶 1、编译生成可执行文件 gcc –g test.c –o test 2、启动GDB gdb test 3、在main函数处设置断点 break main 4、运行 run 5、单步运行 nex
文档评论(0)