从无到有产生这套 通讯架构源代码【项目/工程】
一,服务器程序目录规划
一个完整的项目 肯定会有多个源文件,头文件,会分别存放到多个目录;
我们这里要规划项目的目录结构;
注意:不管是目录还是文件,文件名中一律不要带空格,一律不要用中文,最好的方式:字母,数字,下划线;
主目录名nginx
a) _include目录:专门存放各种头文件;
b) app目录:放主应用程序.c(main()函数所在的文件)以及一些比较核心的文件;
b.1)link_obj:临时目录:
会存放临时的.o文件,这个目录不手工创建,后续用makefile脚本来创建
b.2)dep:临时目录,
会存放临时的.d开头的依赖文件,依赖文件能够告知系统哪些相关的文件发生变化,需要重新编译,后续用makefile脚本来创建
b.3)nginx.c:主文件,
main()入口函数就放到这里;
b.4)ngx_conf.c ,
普通的源码文件,跟主文件关系密切,又不值得单独放在 一个目录;
c)misc目录:
专门存放各种杂合性的不好归类的1到多个.c文件;暂时为空
d)net目录:
专门存放和网络处理相关的1到多个.c文件,暂时为空
e)proc目录:
专门存放和进程处理相关的1到多个.c文件,暂时为空
f)signal目录:
专门用于存放和信号处理有关的 1到多个.c文件;
//ngx_signal.c
linux上用tree看一下目录结构
二 如何在windows 上通过vs编写代码传递到linux上去,这里是通过vmware的设置操作
三。使用makefile 编译出最终的可执行文件
makefile 需要时utf-8格式的
原理图如下。使用每一个.c文件生成一个.o文件,最终这些.o文件链接在一起,生成最终可执行文件

当前的例子是这样的依赖关系

本文详细描述了一个项目中的服务器程序目录规划,包括文件和目录的组织,以及如何在Windows上通过VS编译并将代码传输到Linux,并重点讲解了makefile的使用,包括编译流程、依赖管理及清理工作。

2275

被折叠的 条评论
为什么被折叠?



