相关疑难解决方法(0)

便携式C++构建系统

我正在为C++项目寻找一个易于维护的便携式构建系统.主要平台应包括Windows(Visual Studio 8+)和Linux(gcc); Cygwin可能是一个优势.我们正在考虑两种主要的可能性:CMakeBoost.Jam.SCons也可以选择,但我还没有调查过.CMake和Boost.Jam似乎具有以下特征:

CMake的:

  • (+)生成本机"makefile"(Windows解决方案,Eclipse项目)
  • (+)测试和包装的扩展
  • ( - )需要每个项目文件夹中的配置文件
  • ( - )基于一种过于冗长的特殊语言

Boost.Jam:

  • 单独构建,没有中间步骤
  • ( - )不生成本机解决方案/项目
  • (+)简洁的语言类似于经典的makefile
  • (+)直观支持多线程和静态/动态库等属性

什么是其他可能性以及经验之后的真正优势?什么构建系统可以在途中创建解决方案?

c++ portability build-process

28
推荐指数
4
解决办法
8995
查看次数

为什么编写可移植的C程序很困难?

我想知道,为什么在没有包含胶水代码的情况下让程序在许多操作系统(如Windows和Linux)中运行太难了.它们都共享相同的架构(x86),所以我认为它应该很简单.此外,C是标准化的,那么为什么这些操作系统的实现不同?为什么难以遵循标准并为所有操作系统实现通用库?

我用C编程了将近两年,目前我使用glib来实现可移植性.

我不是在寻找这个问题的解决方案,我已经为此目的使用了glib.但是我想知道为什么它是必要的,为什么制造一个没有差异的C库是很困难的.

[加]

例如,当我在C/Glib中编写程序时,我使用gchar/gint等类型确实是C基元类型,在wikipedia中关于glib,它说:

"特征

在基本层面上,GLib提供了类型定义,取代了C原型char,int,float等,以提高可移植性"

为什么C原始类型不可移植和整个语言?

感谢所有的答案.

c cross-platform

15
推荐指数
4
解决办法
5507
查看次数

制作便携式代码

关于开源项目的所有大惊小怪,为什么还没有一个强大的标准,使你能够制作可移植的代码(我的意思是C/C++没有JavaC#)每个人都有点自己做汤.

甚至还有一些第三方文库Apache Portable Runtime.

c c++ portability

3
推荐指数
1
解决办法
1231
查看次数

标签 统计

c ×2

c++ ×2

portability ×2

build-process ×1

cross-platform ×1