• 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") ;

          }

  • 相关阅读:
    Java内存模型
    Thread.sleep(0)的作用
    Java中用到的线程调度算法是什么
    怎么检测一个线程是否持有对象监视器
    为什么要使用线程池
    ThreadLocal
    生产者消费者模型的作用
    线程间通信
    线程安全
    c#常日期转换(转)
  • 原文地址:https://www.cnblogs.com/shanlu0000/p/12353117.html
Copyright © 2020-2023  润新知