42 预处理命令

1,  ①使用库函数之前,应该用#include 引入对应的头文件,这种以 # 好开头的命令称为预处理命令。

     ②这些在编译之前对源文件进行简单加工的过程,就称为预处理(即预先处理,提前处理)

  ③预处理主要是处理以 # 开头的命令,例如 #include<stdio.h>等,预处理命令要放在所有函数之外,而且一般都放在源文件的前面

  ④预处理是C语言的一个重要功能,由预处理程序完成,当对一个源文件进行编译时,系统将自动调用预处理程序对源程序中的预处理部分做处理,处理完毕自动进入对源程序的编译。

  ⑤C语言提供了多种预处理功能,如宏定义,文件包含,条件编译等,合理的使用它们会使编写的程序便于阅读,修改,移植和调试,也有利于模块化程序设计。

2,开发一个C程序,让它暂停5秒以后再输入内容“hello  world” ,并且要求跨平台,在 windows 和 linux 下都能运行,如何处理。

  ①windows平台下的暂停函数的原型是 void Sleep (DWORD dwMilliseconds ) ,参数的单位是毫秒,位于 windows.h 头文件

  ② linux 平台下的暂停函数的原型是 unsigned int sleep(unsigned int seconds),参数的单位是秒,位于 unistd.h 头文件

  ③ #if   #elif  #endif  就是预处理命令,它们都是在编译之前由预处理程序来执行的。

 1 #if _WIN32  //如果是windows平台,就执行#include<windows.h>
 2 #include<windows.h>
 3 #elif _linux_  //否则判断是不是Linux,如果是就引入<unistd.h>
 4 #include<unistd.h>
 5 #endif
 6 void main() {
 7     #if _WIN32
 8         Sleep(5000);//毫秒
 9     #elif _linux_
10         sleep(5);  //
11     #endif
12         puts("hello,world");
13 }

   说明:在windows和 linux 下,生成源码不一样。

       在windows下:

      #include<windows.h>

      void main(){

        Sleep(5000);

        puts("hello,world") ;

      }

原文地址:https://www.cnblogs.com/shanlu0000/p/12353117.html