论武天地论坛

 找回密码
 立即注册
搜索
查看: 17170|回复: 0

01-来看下我的程序架子吧

[复制链接]

58

主题

58

帖子

244

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
244
发表于 2020-9-21 09:21:23 | 显示全部楼层 |阅读模式
https://mnifdv.cn/resource/forum/DataProcessingAndArchitecture

一,所有的 .h 文件写到单独的.h文件里面   后期所有的.c文件 皆包含此文件
819239-20191014003503008-1434285235.png
819239-20191014010836432-1917650036.png

819239-20191014010851950-870909968.png




二,新建测试文件 test.c  和  test.h
819239-20191014003814318-821792938.png






819239-20191014003659980-91360198.png





819239-20191014003731059-1129917779.png


三,添加到工程
819239-20191014004212855-812513411.png



819239-20191014004312446-999942562.png



三,编写 .c文件(源文件)   .h文件(头文件)



819239-20191014004929049-984434168.png

819239-20191014005724038-687249908.png



四,把test.h  放到include.h 里面
819239-20191014005415590-1066341614.png



四,凡是在test.h里面声明的函数,其它文件皆可调用使用
819239-20191014005832520-1689387243.png



819239-20191014005847897-1798856099.png



819239-20191014010035250-432526869.png



819239-20191014010113071-1619074104.png



819239-20191014010132000-1225682507.png


五,在test.c中定义一个变量,同时在.h里面声明,让其它文件调用
819239-20191014010337927-1981905552.png



819239-20191107200525401-1435560727.png





六,其它文件调用
819239-20191014010525868-1874746052.png


七,说明
  1.
   819239-20191107200826992-21911873.png


    代表着

     819239-20191107200924125-1653332429.png





    当编译 main.h的时候
    编译到
     819239-20191107201016453-1508499358.png


    就会到

     819239-20191107201310666-263525912.png


    这时的 TestValue  就是  extern TestValue



八,此架子注意
应用此模板以后,在.h声明的函数或者变量可在任意.c文件中使用,省去了写 extern的次数.
所以以后的每一个文件里面的函数,变量都需要规范起来!否则就会出现重名!
由于变量对于所有的文件皆起作用!会比平常多占一些内存.
如果一个文件里面的函数或者变量只是其中一个文件调用
列如:test文件只是main调用
819239-20191014011939299-921548239.png


819239-20191014012002158-1394853570.png


819239-20191014012028464-1196770332.png



819239-20191014012051469-1360963998.png





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|论武天地论坛

GMT+8, 2024-11-23 17:59 , Processed in 0.095562 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表