Linux应用编程基础学习.doc

Linux应用编程基础学习.doc

ID:50617245

大小:327.11 KB

页数:20页

时间:2020-03-07

Linux应用编程基础学习.doc_第1页
Linux应用编程基础学习.doc_第2页
Linux应用编程基础学习.doc_第3页
Linux应用编程基础学习.doc_第4页
Linux应用编程基础学习.doc_第5页
资源描述:

《Linux应用编程基础学习.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Linux下开发基础知识touch命令:可用于新建文件,如;touch/tmp/zhangxian.txt关于volatile的介绍(类型修饰符,指令关键字)1.编译器优化介绍由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:

2、将内存变量缓存到寄存器;调整指令顺序充分利用CPU指令流水线,常见的是重新排序读写指令。对常规内存进行优化的时候,这些优化是透明的,而且效率很好。由编译器优化或者硬件重新排序引起的问题的解决办法是在从硬件(或者其他处理器)的角度看必须以特定顺序执行的操作之间设置内存屏障(memorybarrier),linux提供了一个宏解决编译器的执行顺序问题。2.voidBarrier(void)这个函数通知编译器插入一个内存屏障,但对硬件无效,编译后的代码会把当前CPU寄存器中的所有修改过的数值存入内存,需要这些数据的时候再重新从内存中读出。3

3、.volatile总是与优化有关,编译器有一种技术叫做数据流分析,分析程序中的变量在哪里赋值、在哪里使用、在哪里失效,分析结果可以用于常量合并,常量传播等优化,进一步可以消除一些代码。但有时这些优化不是程序所需要的,这时可以用volatile关键字禁止做这些优化。gccandg++分别是GNU的c&c++编译器。gcc/g++在执行编译的时候一般有下面4步:⒈预处理,生成.i的文件[预处理器cpp];⒉将预处理后的文件转换成汇编语言,生成文件.s[编译器egcs];⒊由汇编变为目标代码(机器代码)生成.o的文件[汇编器as];⒋连接目

4、标代码,生成可执行程序[链接器ld];gcc编译流程分为4个步骤,分别为:预处理(Pre-Processing)编译(compiling)汇编(Assembling)链接(Linking)g++-o-c-g功能-o:指定生成可执行文件的名称。使用方法为:g++-oafilefile.cppfile.h...(可执行文件不可与待编译或链接文件同名,否则会生成相应可执行文件且覆盖原编译或链接文件),如果不使用-o选项,则会生成默认可执行文件a.out。-c:只编译不链接,只生成目标文件。-g:添加gdb调试选项。Linux下C语言应用编程

5、1.文件I/O编程2.多进程编程的基本知识,核心是fork、exec、wait三大系统的调用;(可能需要补充操作系统进程并发运行的基本知识)1.进程间通信的几种方法:信号,管道,共享内存,信号量,消息队列。(最重要的是信号和管道)2.多线程编程的基础知识;3.网络编程:socket编程,TCPsocket编程和UDPsocket编程;4.开发工具(包括:编辑器vim、编译器gcc、调试器gdb、工程管理工具autoconf、程序库的制作等);编译器vim的三种模式:1.切换到编辑模式的四种方式,编辑模式可以输入任意内容  a光标向后移

6、动一位  i 当前位置  o另起新行  s删除光标所在字符  r替换光标所在字符2.尾行模式,用于保存内容、查找替换、设置行号等等功能性操作  :q   //quit退出vi编辑器  :w  //write保存修改的内容  :wq  //保存并退出  :q!  //强制退出,当对文本内容作了修改而不想要保存时:w!  //强制保存,当没有文本的写权限时make和makefile文件:makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作(因为makefile就

7、像一个Shell脚本一样,可以执行操作系统的命令)。makefile带来的好处就是—“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译。makefile文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并链接生成可执行文件,要求定义源文件之间的依赖关系。make工具最主要也最基本的功能就是根据makefile文件中描述的源程序之间的相互关系来完成自动编译、维护多源文件工程。Linux下的常用命令Linux删除文件夹和文件的命令-r就是向下递归,不管有多少级目录,一并删除-f就是直接强行删除,不作任何提示

8、的意思删除文件夹实例:rm-rf/var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件、文件夹删除文件使用实例:rm-f/var/log/httpd/access

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

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

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