gpt4 book ai didi

c++ - Hackly 在单个文件中混合 C/C++ 语法?

转载 作者:行者123 更新时间:2023-11-30 18:51:55 27 4
gpt4 key购买 nike

我被分配将一个大型项目从 C99 方言移植到 Visual C++ 2013

C99的方言:

  1. C99C++有不同的行为时,选择C++。

  2. 支持一些 C++ 功能,例如函数/运算符重载。

  3. 支持一些 C99 功能,例如复合文字、可变参数宏和指定的初始值设定项。

在陷入困境之前,我想知道我们是否可以在 VS2013 中编写 C99/C++ 混合代码?

它必须在两个编译器上编译,我想可能会有一些令人惊奇的编译指示,例如

 struct T {
int data;
};
#pragma CompiledByC99_begin
struct T tmp = { .data = 1 };
#pragma CompiledByC99_end

不幸的是,谷歌搜索后没有发现任何结果。 VS2013 中是否存在此类 hack?

最佳答案

您只能在 Visual Studio 2015 中使用有限的 C99 功能,在 2013 中甚至更少(请参阅this question以供引用)

引自MSDN Blog entry与您所需的功能相关:

Additionally, some C99 Core Language features will be implemented in2013 RTM:

C99 _Bool

C99 compound literals

C99 designated initializers

C99variable declarations

因此,根据您的具体需求,您也许无需任何技巧即可做到这一点

关于c++ - Hackly 在单个文件中混合 C/C++ 语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35622255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com