c - 移植问题 Linux/Unix build 到 Windows — Visual C++ 找不到属性关键字?
问题描述
我认为我的新 Windows 机器找不到“属性”机制。这是因为__attribute__
仅仅是 GNU 的东西吗?我正在尝试编译我使用 gcc 在我的 Linux 机器上创建的一些头文件。我有生以来第一次使用 Visual C++ 6.0。我怎样才能解决这个问题?
代码:
typedef struct s_mystruct {
unit somevar;
} __attribute__((packed)) MyStruct;
错误:错误 C2146:语法错误:在标识符“属性”之前缺少“)”错误C2061:“语法错误:标识符'属性'”
不同地方出现相同类型的错误 -->
**typedef unsigned long uint128_t __attribute__ ((mode(TI)));
typedef long int128_t __attribute__ ((mode(TI)));**
这次甚至没有启用代码:(
好吧,我们当然可以实现——
#define __attribute__(x)
这将在预处理期间简单地从代码中删除注释。
但是这个解决方案可能会改变构建行为。
请提出更好的解决方案。
解决方案
推荐阅读
- python - 坚持检查获胜条件并定义在python游戏中移动的函数
- fortran - 此代码是否演示了 GFortran 中的错误?
- javascript - 数组和对象以及 javascript 映射
- c# - C# Linq 除了仅在动态列表上的属性值
- javascript - 通过javascript在octobercms后端启动弹出窗口
- python - 黑色 (Python) 忽略规则
- ruby-on-rails - Rails - Postgres - 按关联对象计数分组
- node.js - postcss-svgo:解析 SVG 时出错:未引用的属性值
- c# - WrapPanel 不包裹在响应式容器中
- python - 如何获取python中任何(包括本地)函数的完整路径?