c99相关内容

是否有满足C99标准的static_assert替代品?

我一直在尝试实现类似于C ++ 11标准中定义的 static_assert 的方法.主要问题是C ++编译器如何将传递到 static_assert 的文本消息作为 const char * 编写?我可以让编译器编写诸如 A_is_not_POD 之类的消息.这就是我所拥有的: #define MY_STATIC_ASSERT(条件,名称)\typedef char name [(condi ..
发布时间:2021-04-20 18:33:15 C/C++开发

在MSVC中处理__attribute__

我想知道使用MSVC时处理包含GCC的 __ attribute __ 扩展名的代码的最佳方法是什么.以下是处理此问题的安全方法: #define __attribute __(x)/*空白-由于使用了C预处理程序,因此应该完全忽略*/ 谢谢! 解决方案 看看 ..
发布时间:2021-04-12 19:28:39 其他开发

仍然能够访问已释放的结构

所以,我有一个结构: tyepdef结构节点{ 结构节点* next; 双重价值; } NodeT,* NodeTP; 我有三个功能: int deleteNode(NodeTP p) { free(p); p = NULL; 返回1; } int deleteOne(NodeTP列表) { if(list-> next!= NU ..
发布时间:2020-09-28 04:23:52 其他开发

如何保存typeof的结果?

我是一名新程序员,主要使用C: 99 的Code :: Blocks。 我最近发现了有关 typeof()的信息,因为它被隐藏为__typeof __() ,我想知道是否可以保存类型由于typeof。 type a = __typeof __(?); 或 #define typeof __typeof__ type a = typeof(?); ..
发布时间:2020-09-28 04:23:45 其他开发

写入具有不同文件名的单独文件

这是我要实现的目标: 假设用户输入的是: 生成随机实例... 输入电路板尺寸MAX_X MAX_Y:100200 输入点数NUM_PT:10 输入要生成的随机实例数:7 您的程序将总共生成7个实例,分别写入7个 文件“ instance10_j.txt”,对于j = 1,2,3,...每个 实例具有矩形区域[0; 100] X [0; 200],并有10个 ..
发布时间:2020-09-28 04:23:42 其他开发

如何在没有setenv()的情况下在ISO c99标准C中设置环境变量?

对于C99标准编译器,我无法使用 stdlib.h 中的 setenv(),因为它不可用。还有其他功能可以在C99中设置环境变量吗? 解决方案 getenv 因此是C90标准的一部分,该标准已包含在C99,但 setenv 仅符合IEEE标准,因此不必严格包含在标准C99中。此外,相应的IEEE是2001年的。 这意味着C99中没有任何标准的方法,您必须使用特定于平台的代码来设置 ..
发布时间:2020-09-28 04:23:39 其他开发

为什么在c99或c90模式下支持_Generic关键字?

我编写了一个简单的C程序来测试 _Generic 关键字的可用性。 int main (){ int _Generic; } 我用 gcc-5.3.1运行了程序>和 clang-3.8.0 在Ubuntu上进行编译。 很明显,该程序在最新的c11标准中编译时会产生错误。 但是,当使用 -std = c90 和 -std = c99 标志进行编译时, ..
发布时间:2020-09-28 04:23:35 其他开发

C99-vscanf是否有假人?

很抱歉打扰S.O.要求提供一般信息。 我可以找到很多vscanf术语非常繁杂的定义-但是我在具体示例中找不到很多东西,这些例子将显示从vscanf返回的内容。功能,除了IBM信息中心网站上的一个非常不错的功能: http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frtref%2Fvscanf。 htm ..
发布时间:2020-09-28 04:23:34 其他开发

为什么递归函数中存在分段错误

您好,我编写了这段代码,目的是查看天气是否为palyndrom,执行时出现段错误,您能帮上忙吗?这是查看单词是否为palyndrom的好方法吗? 提前 #include #include #include int m = 1; void palindromi(); int main(int a ..
发布时间:2020-09-28 04:22:31 其他开发

ISO / IEC 9899 6.8.4.2-> 2短语是什么意思?

我不明白这是什么意思。 我已经认为这可能意味着代码,如我在此问题的代码段中所示: 通过false循环跳过切换案例是否有效? 但是作为回答者,他们只是在哪里改进代码而忽略了我对c99报价的问题,我现在要在这里明确地问这个问题: 如果switch语句在 标识符范围内具有关联的大小写或默认标签,且标识符的类型可变,则整个switch语句应在该标识符的 范围内。 135) 这 ..
发布时间:2020-09-28 04:22:28 其他开发

如何调用“ .so” xcode中的文件

如何在xcode中调用(调用)“。so”文件? 这些“ .so”文件全部用标准C.(C99)编写。 任何人的帮助..... 解决方案 Apple对动态库使用文件扩展名“ .dylib”。它们与其他类似Unix的操作系统中使用的“ .so”共享对象库非常相似,并且是Windows上“ .dll”动态链接库的表亲。 大多数.so库为ELF格式(Linux和许多其他POSIX系统使用) ..
发布时间:2020-09-28 04:22:24 其他开发

使用GCC在C中进行函数重载-具有多个参数的函数

在上一个问题中,我找到了一种在C99中重载函数的方法,当每个函数仅接受一个参数时。有关详细信息,请参见:使用GCC在C中进行函数重载-编译器警告 现在,我已经找到了一种使用单参数函数的方法,我想知道对于带有多个参数的函数如何做到这一点。我认为这与 __ VA_ARGS __ 和使用 ... 有关,但是我似乎找不到任何东西 这将适用于带有2个参数的打印: #define prin ..
发布时间:2020-09-28 04:22:23 其他开发

字符串文字在哪里开始和结束?

C99标准表示,字符串文字的字符的实现限制为4095(?)。 但是,字面值到底从哪里开始呢? printf( “第一部分” “第二部分!\r\n” ); 这将是单个字符串文字吗?还是这2个字符串文字? 解决方案 N1256 5.2.4.1说: 4095个字符串文字或宽字符串文字中的字符(并置后) “连接后 ..
发布时间:2020-09-28 04:22:21 其他开发

MS VS 2008和C99

我感兴趣地阅读了文章“ C99的支持范围如何?”。其中的一项评论指出,Microsoft不支持C99。但是注释符号//与VS 2008一起使用,并且该符号在C99中。我有两个问题: VS 2008在多大程度上支持C99? 可以在同一代码中将C89和C99语法混合在一起吗?因此,如果我用C89编写代码,然后添加注释//。这意味着我有混合编码。那么在这种情况下编译器会做什么?首先使用c89 ..
发布时间:2020-09-28 04:21:18 其他开发

空白初始化C99中的结构数组

这似乎是我所学的一个漏洞。据我所知,在C99中,如果您初始化结构的单个元素而没有其他元素,则其他元素将被初始化为零。下列代码是否将结构的所有成员初始化为零? typedef struct { int foo; int酒吧; char * foos; double dar; } some_struct_t; some_struct_t mystructs [100 ..
发布时间:2020-09-28 04:21:14 其他开发

何时在C中使用纯字符类型

在普通C语言中,按照标准,有三种不同的“字符”类型: 普通 char 定义了谁的签名。 签名的字符。 未签名的字符。 我们假设至少C99,其中 stdint.h 已经存在(因此您有 int8_t 和 uint8_t 类型,作为具有显着宽度的有符号和无符号字符的推荐替代形式。) 就我而言,现在似乎使用普通的 char 类型仅在需要接口标准库的功能(例如 printf )并且在所 ..
发布时间:2020-09-28 04:21:11 其他开发

为什么在C99中不允许隐式声明gets()?

我开始学习C语言编程,我指的是这本书中的代码,它显示了一些带有 gets()的源代码,而我的IDLE也可以识别它。但是仍然在编译时,我的编译器不同意。 有人可以帮我吗?我在主要功能中使用 gets(),并使用clang作为编译器。 解决方案 扩大我的评论: 首先,从不使用 gets(),无论出于何种原因,甚至在玩具代码中也是如此。如果您在示例程序中看到它,请忽略该示例并继续。它 ..
发布时间:2020-09-28 04:21:09 其他开发

是否有人为MSP430的IAR嵌入式工作台实现__getzone()?

我必须在我的应用程序中处理一些时间转换。我想坚持使用尽可能多的标准库函数。现在,我正在使用time_t结构作为系统时基。但是,某些设备可以将时间同步到我的设备,该时间可能是UTC,也可能不是UTC。另外,我的设备会将时间同步到另一台设备,并且该时间将始终是UTC。 无论如何,我可以问用户该时间所在的时区是同步到我的设备,以及他们是否使用DST。当我的设备获得时间同步时,我可以使用mktime ..
发布时间:2020-09-28 04:21:07 其他开发