c99相关内容
我一直在尝试实现类似于C ++ 11标准中定义的 static_assert 的方法.主要问题是C ++编译器如何将传递到 static_assert 的文本消息作为 const char * 编写?我可以让编译器编写诸如 A_is_not_POD 之类的消息.这就是我所拥有的: #define MY_STATIC_ASSERT(条件,名称)\typedef char name [(condi
..
我想知道使用MSVC时处理包含GCC的 __ attribute __ 扩展名的代码的最佳方法是什么.以下是处理此问题的安全方法: #define __attribute __(x)/*空白-由于使用了C预处理程序,因此应该完全忽略*/ 谢谢! 解决方案 看看
..
我昨晚凌晨3点正在编写代码,今天我醒来并在源文件中找到了它:(删节的诅咒词) void append_this_stuff(char * stuff_to_append_to [],char ** stuff_to_append,int position){ char the_actual_stuff [] = *(stuff_to_append_to); char * screw_
..
所以,我有一个结构: tyepdef结构节点{ 结构节点* next; 双重价值; } NodeT,* NodeTP; 我有三个功能: int deleteNode(NodeTP p) { free(p); p = NULL; 返回1; } int deleteOne(NodeTP列表) { if(list-> next!= NU
..
我是一名新程序员,主要使用C: 99 的Code :: Blocks。 我最近发现了有关 typeof()的信息,因为它被隐藏为__typeof __() ,我想知道是否可以保存类型由于typeof。 type a = __typeof __(?); 或 #define typeof __typeof__ type a = typeof(?);
..
这是我要实现的目标: 假设用户输入的是: 生成随机实例... 输入电路板尺寸MAX_X MAX_Y:100200 输入点数NUM_PT:10 输入要生成的随机实例数:7 您的程序将总共生成7个实例,分别写入7个 文件“ instance10_j.txt”,对于j = 1,2,3,...每个 实例具有矩形区域[0; 100] X [0; 200],并有10个
..
对于C99标准编译器,我无法使用 stdlib.h 中的 setenv(),因为它不可用。还有其他功能可以在C99中设置环境变量吗? 解决方案 getenv 因此是C90标准的一部分,该标准已包含在C99,但 setenv 仅符合IEEE标准,因此不必严格包含在标准C99中。此外,相应的IEEE是2001年的。 这意味着C99中没有任何标准的方法,您必须使用特定于平台的代码来设置
..
我编写了一个简单的C程序来测试 _Generic 关键字的可用性。 int main (){ int _Generic; } 我用 gcc-5.3.1运行了程序>和 clang-3.8.0 在Ubuntu上进行编译。 很明显,该程序在最新的c11标准中编译时会产生错误。 但是,当使用 -std = c90 和 -std = c99 标志进行编译时,
..
很抱歉打扰S.O.要求提供一般信息。 我可以找到很多vscanf术语非常繁杂的定义-但是我在具体示例中找不到很多东西,这些例子将显示从vscanf返回的内容。功能,除了IBM信息中心网站上的一个非常不错的功能: http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frtref%2Fvscanf。 htm
..
您好,我编写了这段代码,目的是查看天气是否为palyndrom,执行时出现段错误,您能帮上忙吗?这是查看单词是否为palyndrom的好方法吗? 提前 #include #include #include int m = 1; void palindromi(); int main(int a
..
我不明白这是什么意思。 我已经认为这可能意味着代码,如我在此问题的代码段中所示: 通过false循环跳过切换案例是否有效? 但是作为回答者,他们只是在哪里改进代码而忽略了我对c99报价的问题,我现在要在这里明确地问这个问题: 如果switch语句在 标识符范围内具有关联的大小写或默认标签,且标识符的类型可变,则整个switch语句应在该标识符的 范围内。 135) 这
..
如何在xcode中调用(调用)“。so”文件? 这些“ .so”文件全部用标准C.(C99)编写。 任何人的帮助..... 解决方案 Apple对动态库使用文件扩展名“ .dylib”。它们与其他类似Unix的操作系统中使用的“ .so”共享对象库非常相似,并且是Windows上“ .dll”动态链接库的表亲。 大多数.so库为ELF格式(Linux和许多其他POSIX系统使用)
..
在上一个问题中,我找到了一种在C99中重载函数的方法,当每个函数仅接受一个参数时。有关详细信息,请参见:使用GCC在C中进行函数重载-编译器警告 现在,我已经找到了一种使用单参数函数的方法,我想知道对于带有多个参数的函数如何做到这一点。我认为这与 __ VA_ARGS __ 和使用 ... 有关,但是我似乎找不到任何东西 这将适用于带有2个参数的打印: #define prin
..
C99标准表示,字符串文字的字符的实现限制为4095(?)。 但是,字面值到底从哪里开始呢? printf( “第一部分” “第二部分!\r\n” ); 这将是单个字符串文字吗?还是这2个字符串文字? 解决方案 N1256 5.2.4.1说: 4095个字符串文字或宽字符串文字中的字符(并置后) “连接后
..
我感兴趣地阅读了文章“ C99的支持范围如何?”。其中的一项评论指出,Microsoft不支持C99。但是注释符号//与VS 2008一起使用,并且该符号在C99中。我有两个问题: VS 2008在多大程度上支持C99? 可以在同一代码中将C89和C99语法混合在一起吗?因此,如果我用C89编写代码,然后添加注释//。这意味着我有混合编码。那么在这种情况下编译器会做什么?首先使用c89
..
这似乎是我所学的一个漏洞。据我所知,在C99中,如果您初始化结构的单个元素而没有其他元素,则其他元素将被初始化为零。下列代码是否将结构的所有成员初始化为零? typedef struct { int foo; int酒吧; char * foos; double dar; } some_struct_t; some_struct_t mystructs [100
..
在普通C语言中,按照标准,有三种不同的“字符”类型: 普通 char 定义了谁的签名。 签名的字符。 未签名的字符。 我们假设至少C99,其中 stdint.h 已经存在(因此您有 int8_t 和 uint8_t 类型,作为具有显着宽度的有符号和无符号字符的推荐替代形式。) 就我而言,现在似乎使用普通的 char 类型仅在需要接口标准库的功能(例如 printf )并且在所
..
我开始学习C语言编程,我指的是这本书中的代码,它显示了一些带有 gets()的源代码,而我的IDLE也可以识别它。但是仍然在编译时,我的编译器不同意。 有人可以帮我吗?我在主要功能中使用 gets(),并使用clang作为编译器。 解决方案 扩大我的评论: 首先,从不使用 gets(),无论出于何种原因,甚至在玩具代码中也是如此。如果您在示例程序中看到它,请忽略该示例并继续。它
..
我必须在我的应用程序中处理一些时间转换。我想坚持使用尽可能多的标准库函数。现在,我正在使用time_t结构作为系统时基。但是,某些设备可以将时间同步到我的设备,该时间可能是UTC,也可能不是UTC。另外,我的设备会将时间同步到另一台设备,并且该时间将始终是UTC。 无论如何,我可以问用户该时间所在的时区是同步到我的设备,以及他们是否使用DST。当我的设备获得时间同步时,我可以使用mktime
..
我嵌套了四个不同的结构层。代码如下: typedef struct System system; typedef struct College大学; typedef struct学生学生; typedef struct Family家庭; #define MAX_COLLEGES 10 #define MAX_NAME_LEN 32 #define MAX_ST
..