system 库函数的功能是执行操作系统的命令或者运行指定的程序
#include <stdio.h> #include <stdlib.h>//引入库 int main() { //system("notepad");//打开记事本 system("dir");//查看目录 system("ipconfig");查看ip return 0; }
多线程
pthread_create
thread_create
POSIX标准
POSIX表示可移植操作系统接口(Portable Operating System Interface of UNIX,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 1003,而国际标准名称为ISO/IEC 9945。
POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其它的POSIX操作系统(即使是来自另一个厂商)上编译执行。
POSIX 并不局限于 UNIX。许多其它的操作系统,例如 DEC OpenVMS 支持 POSIX 标准,尤其是 IEEE Std. 1003.1-1990(1995 年修订)或 POSIX.1,POSIX.1 提供了源代码级别的 C 语言应用编程接口(API)给操作系统的服务程序,例如读写文件。POSIX.1 已经被国际标准化组织(International Standards Organization,ISO)所接受,被命名为 ISO/IEC 9945-1:1990 标准。
gcc的参数
-o 指定生成可执行文件名字
c原因的编译过程
.c文件->预编译 -> 编译 -> 链接->可执行程序
1.预编译(-E)
1.。加载头文件
#include 系统文件<头文件> 或者自定义文件 “头文件”两种头文件
2., 删除注释代码,整理代码
A.c 原文件
B.c 预编译完成的文件
gcc -E -o. B.c A.c
预编译生成B.c
转化过程(倒回去)
机器语言->汇编语言->c语言
2.汇编(-S)
gcc -S -o C.c B.c
将c语言转化为汇编语言
ps ::: c语言中可以嵌套汇编语言代码
#include <stdio.h> int main() { //c语言代码 int a, b ,c; /* a = 1; b = 2; c = a + b; */ //内嵌汇编代码 __asm { mov a , 1 mov b , 2 //cpu内的寄存器(计算在寄存器内计算) mov eax , a add eax , b mov c ,eax } printf("%d\n", c); }
3.编译 (-C)
gcc -C -o D.o C.c
将代码编译为二进制的机器指令
4链接
gcc -o d D.0
D.o与库 生成可执行程序
gcc 没有任何参数代表链接
第三方的库(引入库(.so .dll文件))
man gcc查看详细参数