分享

高级头文件与源文件

 壹品茗 2016-11-14

高级头文件与源文件


条件编译指令

#if // 如果,#if VER==1

#ifdef // 如果定义了...

#ifndef // 如果没有定义...

#elif // 否则如果...

#else // 否则

#endif // 和#if/#ifdef/#ifndef配对使用

#undef // 取消定义,和#define相反

满足条件(条件表达式的值非零)的代码参加编译,否则不参加编译。


头文件卫士

com.h

/ \

net.h des.h

/ \ / \

net.c main.c des.c

头文件卫士:在xxx.h中

#ifndef _XXX_H

#define _XXX_H

// 头文件代码...

#endif // _XXX_H

防止同一个.h文件被沿着不同路径包含到一个.c文件中产生重定义冲突。


头文件

第一个:com.h:

#ifndef _COM_H //如果没有定义...

#define _COM_H //就定义...

#include

typedef struct tag_pack

{

char head[256];

char body[1024];

}pack;

#endif //与上面#ifndef是成对


第二个:des.h:

#include 'com.h'


void add2(pack *p);

void sub2(pack *p);


第三个:net.h

#include 'com.h'


void add(pack *p);

void sub(pack *p);


源文件

第一个:des.c

#include 'des.h'

void add2(pack *p)

{

printf('add2两数相加!\n');

}

void sub2(pack *p)

{

pack t;

add2(&t);

printf('sub2两数相减!\n');

}

第二个:net.c


#include 'net.h'

void add(pack *p)

{

printf('addg两数相加!\n');

}


void sub(pack *p)

{

printf('sub两数相减!\n');

}

第三个:main.c

#include 'net.h'

#include 'des.h'

int main()

{

pack p;

add(&p);

sub(&p);

add2(&p);

sub2(&p);

return 0;

}


编译时注意:(以gcc编译器为准)(头文件永远不参与编译):

gcc des.c net.c main.c -o 9_1.exe


注:本文为邢帅教育c语言课堂部分笔记。如果想要学习更深、更细、更多,那么来加入我们吧!不仅有免费公开课还有专业老师讲授知识和面对面解答哦

点击链接一起加入啦~

"邢帅C语言试听课堂"

或者扫描下方二维码加入本群。




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多