coding-style相关内容

在c主要功能样式

可能重复:结果 什么是主要的正确申报? 我的工作我的C技能,我注意到 INT主(INT ARGC,CHAR *的argv []) 和 收益率(EXIT_SUCCESS) 而不是 INT main()和返回0 这是为什么? 解决方案 如果你要忽略的参数列表,这是合理和明智的使用方法: INT主要(无效){...} 该标准保佑这个用法,以及一 ..
发布时间:2016-08-24 13:15:22 C/C++

定义常量指针常量字符串

乌尔里希Drepper的Readed沼泽和遇到2项,看起来像conficting。 在 第一个 (适用于全球空间字符串)乌尔里希指出,该字符串应该定义为: 为const char _pcre_ucp_names [] =“布拉布拉”; 虽然已在 第二个 (字符串函数),他认为它应该被声明为:静态为const char _pcre_ucp_names [] =“布拉布拉”; 您能否解释一 ..
发布时间:2016-08-23 11:16:12 C/C++

是否有其返回的结构直接是很好的做法无论如何?

IMO所有code直接返回结构可以被修改以返回指针结构 当直接返回一个结构好的做法呢? 解决方案 修改的怎么样?返回指针的结构的静态实例的功能内,从而使功能非折返;或者通过指针返回给调用者必须确保自由,这样做appropiately堆中分配的结构?我会考虑返回的结构是在一般情况下,很好的做法。 ..
发布时间:2016-08-23 10:20:20 C/C++

变量声明的优化与问候范围

我问这个问题主要是在关于C编程,但在任何语言的见解,欢迎选购。 当涉及到C,我知道它只是让变量的声明出现在code块的开始。我一直在IM pression,一要申报将在函数的最开始在函数中使用的所有变量之下。但也有许多场合我有一个只有一个循环内使用的变量(或类似的块)。 一个例子是对某些返回值的临时变量: 而(其他){ INT RET; RET = getSomeValue(); } ..
发布时间:2016-08-22 16:47:41 C/C++开发

#包括LT&;&CMATH GT; VS的#include<&math.h中GT;在C ++程序

什么是包括前而不是在C ++程序后者的考虑?我总是包括文件math.h ,文件stdlib.h 从不 CMATH , cstdlib 等等。我不明白,后者甚至存在的原因,可能有人请赐教? 解决方案 preFER包含 c为C ...> 头。他们是C ++标准库头。在< ... .H> 头是由C标准库定义的头文件: C ++标准库也使得现有的C标准库的设施,适当的调整, ..
发布时间:2016-08-22 15:28:34 C/C++开发

快速的输入输出功能

的#define getcx getchar_unlocked 内嵌无效INP(INT&安培; N)//快速输入功能 { N = 0; INT CH = getcx(); INT标志= 1; 而(CH<'0'|| CH>'9'){如果(CH ==' - ')符号= -1; CH = getcx();} 而(CH&GT ='0'和;&放大器;沟道&下; ='9') ..
发布时间:2016-08-22 15:14:39 C/C++开发

为什么用一个恒定的认为是更好的编程风格比使用文字的?

为什么用一个恒定的认为是更好的编程风格比使用文字的?什么是现有优于后者?的确切优势 解决方案 一个原因是为了协助维护。比方说,你被困在黑暗时代,你的图形处理程序仅适用于1.4M软盘。 您获得的请求来处理新发明的2.8M的软盘,你认为自己“哈,我只需要通过code搜索寻找1440和更换,与2880很简单,是吗?” 不幸的是,作为一个图形程序,1440也是缇在一英寸的数量,因此你会发现做你 ..
发布时间:2016-08-22 14:59:15 C/C++

使用生产不赞成对的if..else断言()..块?

我发现,使用断言(...)让我的code更短,更易于阅读,而不是冗长的如果..else .. 块。然而,是否有良好的技术的理由不使用断言(...)航运code,当它一回事同时使用更少的code测试收益价值? 解决方案 看了这篇文章 - HTTP ://www.advogato.org/article/949.html 我将分享约断言我的信仰 1。)是的,它的优良使用断言当事情绝对应符合您 ..
发布时间:2016-08-21 22:44:30 C/C++

如何从简单的C程序清屏?

的#include<&stdio.h中GT; #包括LT&; cstdlib>REC();主要() { int类型的,事实; 焦炭Q,N,Y; 的printf(“\\ n输入任何数字”); scanf函数(“%d个”,&安培; A); 事实上= REC(一); 的printf(“阶乘值=%d个\\ N”,事实); 的printf( ..
发布时间:2016-08-21 22:06:40 C/C++

用C忽略返回值

最近,我开始使用不起毛的静态code分析。 其中一个警告,我得到有时是关于这个问题。 比方说,比如,我已经得到了以下功能: uint32_t的富(无效); 和我们说,我delibertly忽略函数的返回值。 为了使警告dissapear,可以写(无效),美孚(); 我的问题是,什么是“正确”的方式来写code这个样子,我应该继续,因为我总是这样,因为编译器不会抱怨,或者我应该用虚空 ..
发布时间:2016-08-21 20:48:33 C/C++

为什么某些功能的extern声明,头文件不包含在Git的源$ C ​​$ C源?

我想看到一个真实的世界应用程序的源$ C ​​$ C,了解良好的编程习惯等,所以我选择了Git和下载的源1.8.4版本。 通过各种文件随机浏览的东西后,引起了我的注意这两个文件: STRBUF .H strbuf.c 这两个文件显然定义与本文档。 我有两个问题: 为什么在行16,17,18,19和放大器的函数声明;在“strbuf.h”6号线的全局变量声明为extern? 为什么 ..
发布时间:2016-08-21 20:29:11 C/C++

编码标准对纯C(不是C ++)

我来自一个Java的背景(从我的CS类)和C的一个学期++。我只是完成了我的合作社这是纯C一OpenCV的项目,所以我在问这个问题迟到了一点。 什么是设计流程和编码标准的纯C? 我熟悉面向对象编程,设计和最佳实践。我只是有点在像在C.非面向对象语言的每一个变量和函数似乎是全球亏损。这使得它感觉像一个真正的混乱给我。 解决方案 您可能有兴趣在检查出的答案到的类似的问题我问不是很久以前。此 ..
发布时间:2016-08-19 16:01:43 C/C++

编程风格指南对于C

这已经有一段时间,因为我已经写了C,我从来没有真的任何格式的时候,我做到了,因为这是所有玩具的工作和无关紧要的。对于开源的C项目,这将是最好的(是最商定和利用)风格指南(格式和约定WISE)跟随? 解决方案 C和C ++风格指南列出了许多风格指南。我认为你应该使用选择一个在您的OS项目的区域使用。 胃内GNU人喜欢其他格式比Linux内核开发者。 只是一个例子: GNU风格指南 ..
发布时间:2016-08-19 15:47:35 C/C++

为什么写'的sizeof(char)的`如果char是1通过标准?

我在做一些C代码和阅读一些C code后,我注意到有code片段像 字符*富=(的char *)malloc的(的sizeof(char)的* someDynamicAmount); 所以,我要问什么是更多的C-十岁上下的方式来为char数组分配内存?使用的sizeof(char)的,也应该面向未来对任何标准的变化,code或省略,并直接使用多少? 解决方案 更​​CISH方法是字符*富 ..
发布时间:2016-08-19 15:43:57 C/C++

当应在C函数返回新分配的内存?

在其他地方的响应,我发现下面的代码片段: 在总体上是在C更好的有 来电者分配内存,而不是 被调用 - 因此,为什么strcpy的是一个“更好” 功能,在我看来,比的strdup。 我可以看到这是一个有效的模式,但为什么它会被认为是更好?在那里按照这种模式的优点?还是不行? 例如 最近,我已经写了,看起来像code了相当数量的: 结构美孚* A = foo_create(); ..
发布时间:2016-08-19 15:42:17 C/C++

正确的C指针符号

哪一个写的最好的方式: 字符串* STR 或者字符串* STR 有没有副作用对他们中的任何一个缺点? 感谢 解决方案 一个原因preFER第二个是当你在一次声明多个变量:字符串* str中,* foo的; 串*海峡,富; 这两个行是不同的,第一个声明为指针,而第二个声明了一个指向字符串和一个字符串。 [按FredOverflow注释]这个问题可以通过一些模板魔术来解决,虽然; ..
发布时间:2016-08-19 15:02:52 C/C++开发

什么是领导和Linux内核标识符尾随下划线的意思?

我把整个小约定运行像 __ __仁。 是 __ 在这种情况下所使用的内核开发人员或命名约定是它命名宏这样一个语法具体的原因? 有整个code许多这样的例子。 例如某些函数和变量开始与 _ 甚至 __ 。 有没有具体的原因? 这似乎pretty广泛使用,我只是需要一些澄清,这些东西是否有语法的目的还是纯粹的命名约定。 此外,我看到很多的用户声明类型,比如将uid_t。同样我想这是一种命名 ..
发布时间:2016-08-19 13:43:03 服务器开发

检查大量的返回值时,优秀的C风格

有时候,我不得不写code,它做的事情,并检查错误条件之间交替(例如,调用库函数,检查其返回值,继续下去)。这往往导致长期运行的实际工作中的if语句的条件发生,像 如果(!(数据=(big_struct *)malloc的(sizeof的(*数据)))){ //报告分配错误 }否则如果(init_big_struct(数据)){ //手柄初始化错误 }其他... 你们怎么写这 ..
发布时间:2016-08-19 13:33:13 C/C++

缩进preprocessor指令在emacs的C $ C $Ç

Emacs中,默认情况下,不缩进pre-处理器code。我知道它有历史根源,到现在已经过时了。 然而,有一个code有很多的#ifdef的缩进是难以阅读。 所以,我想提出emacs的自动缩进给我这样的事情: 无效MYFUNC(){ INT富; #IFDEF BAR 的printf(富); #万一 返回foo的; } 而不是我现在得到:无效MYFUNC( ..
发布时间:2016-08-19 00:21:48 C/C++

使用指针和数组的区别与结构元素为零

如何在两个不同的实现方式: 结构队列{ int类型的; INT B: q_info *阵列; }; 和结构队列{ int类型的; INT B: q_info阵列[0]; }; 解决方案 第二个结构不使用零元素的数组 - 这是一个pre- C99把戏使灵活的阵列成员。所不同的是,在第一个片段,你需要两个的malloc 秒 - 一个用于结构 ..
发布时间:2016-08-19 00:10:43 C/C++