想不到作为 Java 程序员也有写 C/C++ 的时候,最近接到一项任务「将对接流程封装成DLL动态库,供第三方调用」,不得已写起了C程序。


相对于﹝VisualStudio﹞的庞大及﹝QtCreator﹞安装繁琐﹙需要注册Qt账号﹚,﹝CodeBlocks﹞不失为Windows环境开发 C/C++ 程序的好选择。


文主要介绍了 CodeBlocks 同时支持编译 x86(32位)x64(64位) 程序的配置过程。


№ 1. 配置项目编译环境



在菜单栏依次选择 «Project»->«Build options...»

让你的CodeBlocks同时可编译x86和x64程序_java

«Project Build Options»中,选中对应的项目    • 这里直接为项目设置,不单独设置Debug\Release勾选需要编译的环境:

  1. Target x86(32bit) [-m32] : 32位
  2. Target x86_64(64bit) [-m64] : 64位

如果项目中有引用第三方依赖库,则可以在«Linker settings» 中引入    • 可以同时引入x86和x64库

第三方include路径则在 «Search direcotries» 设置

让你的CodeBlocks同时可编译x86和x64程序_java_02


№ 2. 配置CodeBlocks编译环境


配置x86或x64编译器,在菜单栏中依次选择 «Settings»->«Compiler»

让你的CodeBlocks同时可编译x86和x64程序_java_03

注意,编译对位数位的程序需要对应的编译工具,这里采用的是MinGW    • 分别准备x64和x86的MinGW
将两个编译器都放在CodeBlocks目录中     • x64文件夹以MinGW命名     • x86文件夹以MinGW32命名这样编译的时候只需要调整这里的路径即可

让你的CodeBlocks同时可编译x86和x64程序_java_04


№ 3. 如何鉴权DLL的位数?


鉴别DLL是64位还是32位可使用16进制文本工具

    • 用户16进行的文本用具打开DLL

如果DLL是x64可以看到「PE..d

让你的CodeBlocks同时可编译x86和x64程序_java_05

如果DLL是x86可以看到「PE..L

让你的CodeBlocks同时可编译x86和x64程序_java_06