易截截图软件、单文件、免安装、纯绿色、仅160KB

Beautify your c/c++ source code

http://uncrustify.sourceforge.net/
Ident code, aligning on parens, assignments, etc
Align on '=' and variable definitions
Align structure initializers
Align #define stuff
Align backslash-newline stuff
Reformat comments (a little bit)
Fix inter-character spacing
Add or remove parens on return statements
Add or remove braces on single-statement if/do/while/for statements
Supports embedded SQL 'EXEC SQL' stuff
Highly configurable - 385 configurable options as of version 0.56
Output :
const char *token_names[] =
{
[CT_POUND] = "POUND",
[CT_PREPROC] = "PREPROC",
[CT_PREPROC_BODY] = "PREPROC_BODY",
[CT_PP] = "PP",
};
int main(int argc, char *argv[])
{
struct junk a[] =
{
{ "version", 0, 0, 0 },
{ "file", 1, 150, 'f' },
{ "config", 1, 0, 'c' },
{ "parsed", 25, 0, 'p' },
{ NULL, 0, 0, 0 }
};
}
color_t colors[] =
{
{ "red", { 255, 0, 0 } }, { "blue", { 0, 255, 0 } },
{ "green", { 0, 0, 255 } }, { "purple", { 255, 255, 0 } },
};
struct foo_t bar =
{
.name = "bar",
.age = 21
};
struct foo_t bars[] =
{
[0] = { .name = "bar",
.age = 21 },
[1] = { .name = "barley",
.age = 55 },
};
void foo(void)
{
int i;
char *name;
i = 5;
name = "bob";
}
/**
* This is your typical header comment
*/
int foo(int bar)
{
int idx;
int res = 0; // trailing comment
// that spans two lines
for (idx = 1; idx < bar; idx++)
/* comment in virtual braces */
res += idx;
res *= idx; // some comment
// almost continued, but a NL in between
// col1 comment in level 1
return(res);
}
// col1 comment in level 0
#define foobar(x) \
{ \
for (i = 0; i < x; i++) \
{ \
junk(i, x); \
} \
}


相关文档:

20100527 C陷阱与缺陷读书笔记(一、二章)

  第一章:词法“陷阱”
  字母本身没有意思,但是将字母组成的单词就被赋予了意义。在C语言中,字符组合成了整个代码,由字符书写带来的笔误会带来不少麻烦。作为程序员,不能指望靠编译器来提醒。因此,需要注意:
  1.C语言中,符号之间的空白(包括空格符,制表符,换行符) ......

Ubuntu linux系统下安装C kermit串口工具

解决步骤:
gylu@dell-desktop:~$ sudo apt-get install ckermit
显示安装过程
gylu@dell-desktop:~$gedit ~/.kermrc
输入下面内容后保存.kermrc退出:
   set line            /dev/ttyS0
    set speed    & ......

linux下C语言多线程编程实例

学东西,往往实例才是最让人感兴趣的,老是学基础理论,不动手,感觉没有成就感,呵呵。
   下面先来一个实例。我们通过创建两个线程来实现对一个数的递加。
或许这个实例没有实际运用的价值,但是稍微改动一下,我们就可以用到其他地方去拉。
下面是我们的代码:
/*thread_example.c : c multiple thread p ......

c和java中的二进制文件


最近需要写一段程序,完成以下的工作,用java将数据以二进制的形式写入文件中,然后用C读出此二进制文件。
开始的时候没有考虑机器的字节序,直接搞出segment fault.想了很久,才明白原来是java和C的字节序是不一样的。
java中的字节序是big endian的,它是与机器无关的。而c的字机序是机器相关的,而当前用的机器是x84 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号