macros相关内容

S_ISREG 宏未定义

问题 posix 宏 S_ISREG、S_ISDIR 等是否仅适用于 linux?我需要找出原因,因为我正在尝试编译 CURL 并试图在 Windows 上使用它们 我可以使用哪些包含文件在 Windows 上访问它们. 这是有问题的代码 /*我们忽略字符/块设备、套接字等的文件大小*/如果(S_ISREG(文件信息.st_mode))上传文件大小=文件信息.st_size;} 它会导 ..
发布时间:2022-01-11 20:08:31 其他开发

技巧:使用宏填充数组值(代码生成)

C++ 模板只是变相的宏吗? 我正在阅读上面的主题,突然想到一个想法:为什么不尝试编写一些可以在我们的实际代码中使用的棘手宏(不仅仅是在现实生活中无用的谜题)? 所以首先想到的是:用宏填充数组值: int f(int &i) { return ++i;}#define e100 r5(m20)#定义 m20 m5,m5,m5,m5#define m5 r5(e1)#define e1 ..
发布时间:2022-01-11 20:08:15 C/C++开发

查看编译器扩展代码 - C++

我了解到编译器会在编译时扩展宏.模板也在编译时展开.有没有办法看到这个扩展的代码?我正在使用 Visual Studio 2008 进行编译. 有什么想法吗? 解决方案 VC++ 编译器 (cl.exe) 支持一些命令行开关: /E 预处理到标准输出/P 预处理到文件/EP 预处理到标准输出,没有#lines 可以在项目属性中添加其他命令行开关.在我的版本(VC2005)中,配置 ..
发布时间:2022-01-11 20:08:06 C/C++开发

#define _POSIX_SOURCE 是什么意思?

在 C 中使用 #define _POSIX_SOURCE 对我的程序有什么好处?我可以在我的程序中访问更多的库,或者我可以调用一些直接存在于 C 中的函数.这个宏是做什么用的? 解决方案 它允许您使用不属于标准 C 库但属于 POSIX.1(IEEE 标准 1003.1)标准的函数.使用中描述的宏feature_test_macros 允许您控制公开的定义通过系统头文件. 据我所知 ..
发布时间:2022-01-11 20:07:59 其他开发

如何在 GCC 中弃用 C 预处理器宏?

我知道如何使用 __attribute__((deprecated)) 或 [[deprecated]] 来弃用这样的函数: int old_fn() __attribute__ ((deprecated));[[已弃用]] int old_fn2(); 但是如何弃用这样的宏: #define OLD_MACRO 1 解决方案 不错,优雅的解决方案,但取决于启用的 C99(适用于 gcc ..
发布时间:2022-01-11 20:07:50 C/C++开发

Cygwin 的标准 #ifdef

如果我想知道我是否在 Cygwin 上编译,要检查的标准宏是什么? 我见过 #ifdef _WIN32,但这似乎不是面向未来的或特定于 Cygwin 的. 解决方案 似乎 #ifdef __CYGWIN__ 有效. 在这个列表 上找到它 ..
发布时间:2022-01-11 20:07:43 其他开发

为 Clojure 宏定义同义词

所以从 Clojure 宏开始创建同义词一个函数,我发现 def 不能用来定义宏的同义词.以下是我尝试过的 Clojure 不允许的示例. ;(def def-function defn);(def case cond);(定义函数 fn) 是否可以在 Clojure 中为宏定义同义词/别名?是否需要使用 defmacro? 解决方案 可以使用宏: 用户=>(defmacro def ..
发布时间:2022-01-11 20:07:36 其他开发

是“透明"的吗?宏可能吗?

我想编写一个 Clojure with-test-tags 宏来包装一堆表单,并在每个 deftest 表单的名称中添加一些元数据 -具体来说,在 :tags 键中添加一些东西,这样我就可以使用一个工具来运行带有特定标签的测试. with-test-tags 的一个明显实现是递归遍历整个主体,根据我找到的每个 deftest 表单进行修改.但是我最近一直在阅读 Let Over Lambda ..
发布时间:2022-01-11 20:07:27 其他开发

Swift + 宏参数

我阅读了所有与 Swift 中的宏相关的问答,我确实发现 Swift 中的所有内容现在都是全局的, 我说的对吗? 我的实际问题是,如果我有一个需要传递参数的宏,那么我如何以 Swift 语言传递它? 例如 Objective-C 宏 #define COLOR_CODE(red, green, blue, alpha) [UIColor colorWithRed: red/ ..
发布时间:2022-01-11 20:07:18 移动开发

获取当前类的 typedef

我目前正在将 boost::intrusive_ptr 与我的 GUI 类一起使用.尽管这或多或少是一个方便的问题,但是否有正确的方法来获取当前类的类型名?我问的原因是我有一个宏来定义不同的指针类型: #define INTRUSIVE_PTR_TYPEDEFS(CLASSNAME) typedef boost::intrusive_ptr点;\typedef boost::intrusive_ ..
发布时间:2022-01-11 20:07:07 C/C++开发

如何安排宏在 Access 2007 中自动运行

我想要一个宏,例如 Macro1,每天早上 9 点运行.它在 Access 2007 中的 VB 代码编辑器中运行良好,但我希望它能够在不打开访问权限的情况下自动执行. 请注意,我不希望有任何人为干预,它需要能够自动运行,而无需有人打开 Access 来触发 autoexec 或 onload 或类似的东西. 这可能吗? 解决方案 您可以使用 MS Access 命令行开关来运 ..
发布时间:2022-01-11 20:07:00 其他开发

在编译时检测 C++ 中的函数

有没有一种方法,大概是使用模板、宏或两者的组合,我可以将一个函数一般地应用于不同类的对象,但如果它们没有特定的函数,它们会以不同的方式响应? 我特别想应用一个函数,如果对象具有该函数,该函数将输出对象的大小(即集合中的对象数量),但如果对象具有该函数,则会输出一个简单的替换(例如“N/A"),如果对象没有.即 NO_OF_ELEMENTS(mySTLMap) ----->[调用 mySTL ..
发布时间:2022-01-11 20:06:52 C/C++开发

C 中的类型检查宏参数

是否可以对#define 宏的参数进行类型检查?例如: typedef 枚举{REG16_A,REG16_B,REG16_C}REG16;#define read_16(reg16) read_register_16u(reg16);\断言(typeof(reg16)==typeof(REG16)); 上面的代码似乎不起作用.我做错了什么? 顺便说一句,我正在使用 gcc,我可以保证在这 ..
发布时间:2022-01-11 20:06:33 其他开发

如何在 MathJax 中定义自定义宏

我正在尝试在 MathJax 中定义 LaTeX 文件中使用的自定义宏. 可以定义简单的宏(单参数),没有任何问题,例如; \newcommand{\braket}[1]{\langle #1 \rangle} 作为 宏:{刹车:['{\\langle #1 \\rangle}', 1]} 但与复杂的斗争; \newcommand{\Abs}[2][]{\left\lvert#2\ ..
发布时间:2022-01-11 20:06:17 其他开发

在 Visual Studio 中使用标签包装选定文本的宏

我意识到我可能有点懒惰,但是有谁知道 Visual Studio 宏,我可以在其中选择 Visual Studio IDE 中的一些文本,单击一个按钮,然后让它用标签包裹选定的文本?它会产生类似的东西: 我选择的文本 我什至愿意创建一个宏,只是不确定从哪里开始! 解决方案 这样做的代码相当简单: Sub SurroundWithStrongTag() ..
发布时间:2022-01-11 20:06:10 其他开发

C/C++ 中 offsetof 宏的合法使用

有这个宏offsetof 在 C/C++ 中,它允许您获取 POD 结构中成员的地址偏移量.以 C FAQ 为例: struct foo {诠释一个;诠释 b;};结构 foo;/* 间接设置 foo 的 b 成员 */*(int *)((char *)foo + offsetof(b)) = 0xDEADBEEF; 现在这对我来说似乎很邪恶,我看不出这个宏有很多合法用途. 我见过的一个 ..
发布时间:2022-01-11 20:06:03 C/C++开发

为什么这个嵌套宏替换失败?

我正在尝试应用 X Macro 概念,以便可以将所有结构成员初始化为自定义默认(无效)值.我写了以下代码: #define LIST_OF_STRUCT_MEMBERS_foo \X(一)\X(b)\X(c)#define X(name) 整数名称;结构富{LIST_OF_STRUCT_MEMBERS_foo};#undef X#define X(名字) -1,静态内联 void foo_inv ..
发布时间:2022-01-11 20:05:45 其他开发

计数预处理器宏

我有这个宏代码,它允许我使用一个构造将 C 枚举和枚举名称列表定义为字符串.它使我不必重复枚举器名称(并可能为大型列表引入错误). #define ENUM_DEFINITIONS(F) \F(0, 项目 1) \F(5, 项目 2) \F(15,第 3 项)\...F(63, ItemN) 然后: 枚举项目{#define ITEM_ENUM_DEFINE(id, name) name = ..
发布时间:2022-01-11 20:05:37 其他开发