欢迎来到天天文库
浏览记录
ID:25864063
大小:244.00 KB
页数:26页
时间:2018-11-23
《linux高级编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、结构和联合结构就是不同类型的数据的容器,但是这些数据是有关联性的联合就是一块内存,当成不同的类型使用C语言的基本函数stdio.hstdlib.hstring.hmemcopy()/memset()memcopy----一般用于拷贝一块内存memset()----一般用于清一块内存数据与结构和算法堆栈队列链表二叉树物理结构:计算机底层的存储方式(线性和链式)逻辑结构:人脑中的规则(人定的规则)运算结构:其实就是对外提供的接口(函数)算法包括排序算法和查询算法冒泡选择插入快速(归并)元素无序用线性,有序用二分(线性也可用于有序,但效率低)*********************
2、*******************************************************2014-4-29张立猛-C++-教学总监zhanglm@tarena.com.cn贝尔实验室C语言/Unix系统UCUnix系统下C开发–使用Unix/Linux的系统函数开发课程具体内容:Linux操作系统静态库和共享库C程序员的错误处理环境变量和环境表Unix/Linux的内存管理文件操作目录操作进程管理信号(软件中断方式)IPC(进程间通信)网络socket编程多线程开发软件的分级:1.标准(规范)--行规,一般来说就是一系列函数。2.产品--质量优先的软件,不
3、针对特定的用户3.项目--针对特定客户,一般都有时间性版本(奇数表示测试?)gcc编译器:gcc编译C程序过程时,有四个步骤:1.预处理,针对所有的指令(以#开头),替换为纯C语法2.编译3.汇编4.链接通常情况下,把预处理、编译和汇编统称为编译(广义)。gcc-E只做预处理gcc-c编译但不做链接,生成.o文件(目标文件)gcc-S汇编,生成.s文件gcc-o改变生成的文件的名字-o同时也可以将预处理后的存入.i的文件中gcc–E-o名.igcc-v查看gcc的版本gcc-Wall显示更多的警告信息gcc编译+链接.a静态对象库.c需要预处理的C语言源代码.hC语言.i不需要
4、进行预处理的目标文件.o目标文件.s汇编语言文件.so共享对象库预处理的指令C程序中允许使用指令。指令就是以#开头,指令的预处理阶段换成C语法指令的分类:a.#include主要用于包含一个其他的文件,主要是头文件b.#include后面支持两种格式:<>,“”;区别是<>只查找系统的文件路径;“”会先查当前目录,然后查找文件路径c.#define/#undef定义和取消宏变量或宏函数条件编译–按调件选择编译的分支#if#elif#endif#else#ifndef#ifdef#undef等等#pragma提供一些额外的功能1.#pragmaGCCdependency文件名让当
5、前文件依赖dependency后面的文件,如果后面的文件比当前文件新,会产生一个警告2.#pragmaGCCpoison单词定义某个东西为毒药,禁止使用,否则产生错误注:在#dragma之前的代码可以使用,之后不能3.#pragmapack(int)–比较使用的结构的对齐和补齐对齐就是每个成员必须放在自己大小的整数倍位置(大于4的按4字节算)补齐就是每个结构的大小应该是最大成员大小的整数倍(大于4的按4字节算)#pragmapack()有些时候不需要对齐和补齐或者改变对齐和补齐的单位,可以用pragmapack()可以改变对齐和补齐的方式比如:pragmapack(1)按1字节
6、的整数倍对齐和补齐,不做对齐和补齐了pragmapack(2)按2字节的整数倍对齐和补齐头文件(.h)中定义什么?1.各种声明都应该定义在头文件中,是对外的清单。各种声明包括:变量声明,宏的声明,结构和联合,函数的声明。2.各种具体的实现都定义在源文件中,是具体代码。具体实现包括:变量的赋值,函数的代码头文件的基本格式:#ifndefXXXXX#defineXXXXX//各种声明#endif系统查找头文件的方法:1.用“”可以解决,“”中支持路径“./a/test.h”2.gcc–I头文件所在路径(<>都可以找的到)。3.配置环境变量CPATH,加入头文件所在路径。如:expo
7、rtCPATH=.(.表示当前目录)(exportCPATH=.:$PATH)操作系统中有些数据是要经常使用的,为了提升效率常驻内存,环境变量就是其中之一。环境变量有很多,对应不同的请求。比如:PATH--系统路径,系统会自动查找到PATH中的路径。因此PATH中配置的路径下的可执行文件可以省略路径直接运行CPATH--头文件的系统路径。系统查找头文件时会找它。如:exportCPATH=.打印环境变量时,可以用echo命令如:echo$PATH配置环境变量,在bash下:export环境变
此文档下载收益归作者所有