uc第一天

阅读更多

1.C语言是一种弱类型的语言,一切它没有见过的东西,他都会作隐士声明为int类型,但是到了c99标准,这种特点就被扼杀了,因为不好使。要知道,C语言中的隐士转换在编译时转换的,而非运行时。
2。预处理一些不常用命令:#error "遇到这东西直接中断" #warning "遇到这东西报错而已" #include_next "在指定位置下的下一个目录寻找(用的少)"
#line 100 指定该位置的行号,这样的话呢,就忽略源文件中的行号了,报错的时候就以改行为基准位置。
#pragma 1. #pragma GCC dependency "ddd.c" :指定的文件必须在我(本文件)之前创建或则修改,否则不通过。
2. #pragma GCC poison goto :报毒,只要语句中存在goto关键字,则报毒,不执行。
3。#pragma pack(2) => 用2字节作为对齐单位,影响对齐单位为2个字节。
3。环境变量:C_INCLUDE_PATH 查找头文件的位置 ,
CPATH: 同左,gcc hello.c add.c -I . 告知我的头文件在 . (即当前文件中)
4。创建静态函数库:
1. 把要放入静态库中的文件,先进行 gcc -c xxx.c xxx.c来进行生成 .o 文件。
2。再把 .o 文件,ar -r libxxx.a xxx1.o xxx2.o 注意:库文件必须以lib来开头,之后跟文件名,然后是相应的后缀 .a 。
3。库做成了之后,就需要我们吧他的函数都用头文件声明起来,主函数调用库中函数只要去include "myku.h" 就可以了,先gcc -c main.c 然后再gcc main.c -l myku -L . -o cwj

( gcc main.o libmyku.a==> a.out ) (gcc main.o -l myku 这样的话,就会自动去LIBRARY_PATH环境变量下面去找)

5.创建共享库:

1. gcc -c -fpic gx1.c gx2.c| gcc -shared gx1.o gx2.o-o libmyku.so | gcc -c main.c| gcc man.o -l myku -L . -o cwj 必须在LD_LIBRARY_PATH中去配好这个共享库路径。而且还必须是 export 导出的变量才行。

6.静态库适用于小的程序,不依赖什么。共享库用于大型的程序,依赖共享库文件。

7.

你可能感兴趣的:(uc第一天)