C语言编程技巧
zyq2007
这个作者很懒,什么都没留下…
展开
-
结构体字节对齐
#include "stdio.h" #include "stdlib.h" #pragma pack(push) // 将当前pack设置压栈保存 #pragma pack(1) // 必须在结构体定义之前使用 struct test1 { char a; double b; }; #pragma pack(pop) // 恢复先前的pack设置 struct test原创 2011-06-26 11:30:00 · 362 阅读 · 0 评论 -
互斥锁,条件变量,读写锁,信号灯,共享内存的一些代码
//2010-01-19 yaojianming 摘自unix网络编程2卷//以下为多生产者,单消费者的互斥锁,条件变量的实现#include stdio.h>#include unistd.h>#include pthread.h>#define MAXNITEMS 100000#define MAXNTHREADS 10int nitems =转载 2014-03-18 23:37:48 · 291 阅读 · 0 评论 -
linux文件读写 文件锁
linux文件读写 文件锁、2012-10-22 20:19:50| 分类:C | 标签:|举报|字号大中小 订阅一、文件锁文件锁用于多个用户共同使用或操作同一个文件。有读锁的时候可以再加读锁,不能再加写锁。有写锁的时候,不能加任何锁,加读锁时,该描述符必须是读打开,加写锁时,该描述符必须是写打开,且只在进程间有用。3对于锁区转载 2014-03-18 23:20:42 · 795 阅读 · 0 评论 -
linux 文件读写 锁操作
linux 文件读写 锁操作 2011-04-15 16:44:46| 分类:linux | 标签:ubuntu linux 锁 文件读写 |举报|字号大中小 订阅linux文件操作学习(linux c 编程实战)。锁的规则:多进程:锁的不兼容性规则: 多进程在给一个给定的字节上可以有一把共享的读锁,但是在一个转载 2014-03-18 23:20:03 · 580 阅读 · 1 评论 -
枚举目录编译
#!/bin/shecho "hello"for dir in `ls -d */`;do if [ -f "${dir}Makefile" ]; then echo "dir=$dir" fidone原创 2014-03-10 22:45:48 · 121 阅读 · 0 评论 -
C 宏定义的简单总结
C 宏定义的简单总结 收藏 我在写代码的时候喜欢使用宏,不仅使代码看起来整洁,而且用好了还能极大的减轻编码的工作量,但是如果使用不当的话,出了问题查找起来就就非常的难了,下面的总结大部分是从网上看到的,也有一些是我自己在工作中总结出来的。 宏使用中的常见的基础问题1. 防止一个头文件被重复包含 #ifndef BODYDEF_H #define BODYDEF_H //头文件内容转载 2011-06-25 09:35:00 · 278 阅读 · 0 评论 -
gcc下自定义调试输出
#ifdef MYDEBUG#define mydebug(format,...) do{/ fprintf(stderr,"%s:(%d)>> ",__FILE__,__LINE__);/ fprintf(stderr,format,##__VA_ARGS__);/}while (0) #else#define mydebug(format,...) #endif原创 2011-06-25 09:44:00 · 307 阅读 · 0 评论 -
编译日期获取
软件版本之获取编译日期时间和系统时间2010-09-11 13:42:56| 分类: Linux/Unix | 标签: |字号大中小 订阅 int GetCompileDateTime(char *szDateTime){ const int原创 2011-07-15 09:47:42 · 721 阅读 · 0 评论 -
WriteDebugInfo
void WriteDebugInfo(const char *fmt, ...){#if 1 FILE *fp; timeb tb; tm *tm; char szNowTime[20]; char szInfo[1024]; va_list args; va_start原创 2011-07-15 09:48:19 · 223 阅读 · 0 评论 -
程序书写格式,变量命名规则
一、程序风格: 1、严格采用阶梯层次组织程序代码: 各层次缩进的分格采用VC的缺省风格,即每层次缩进为4格,括号位于下一行。要求相匹配的大括号在同一列,对继行则要求再缩进4格。例如: 2、提示信息字符串的位置 在程序中需要给出的提示字符串,为了支持多种语言的开发,除了一些给调试用原创 2011-07-16 14:01:40 · 2467 阅读 · 0 评论 -
变量命名规则
变量命名规则------匈牙利命名规则!几年以前,Charles Simonyi(他后来成为微软的著名程序员)设计了一种以前缀为基础的命名方法,这种方法后来称为"匈牙利表示法"以记念他.他的思想是根据每个标识符所代表的含义给它一个前缀.微软后来采用了这个思想,给每个标识符一个前缀原创 2011-07-16 14:04:32 · 5250 阅读 · 1 评论 -
int PRINTF(const char *format, ...)
int PRINTF(const char *format, ...){ va_list args; char szBuffer[2048];#if 0 FILE *fp;#endif if (s_bIsDebug) { va_star转载 2011-07-18 10:35:48 · 804 阅读 · 0 评论 -
sysctl.conf的优化方案有各种版本
网上关于sysctl.conf的优化方案有各种版本,大多都是抄来抄去的,让新人看了很迷茫。为解决此问题,经过两天的整理,查了N多资料,将大家常用的总结如下,很多默认的不需要修改的暂未涉及,今后将逐步把所有的项目都有个翻译、讲解、修改建议,如有修改,将以此文为准,其他地方的内容,本转载 2011-08-01 17:39:40 · 456 阅读 · 0 评论 -
fin_wait1过多问题(2011
fin_wait1过多问题(2011-03-18 18:19:49)转载标签:杂谈分类: 技术大部分是说net.ipv4.tcp_fin_timeout = 10来调节,不管用,狂在百度里谷歌:net.ipv4.转载 2011-08-01 17:35:21 · 158 阅读 · 0 评论 -
C语言中位域(bit struct)和#pragma pack(n)指令对其影响。
C语言中位域(bit struct)和#pragma pack(n)指令对其影响。2008-02-26 13:19 742人阅读 评论(0)收藏 举报刚才看INTERNETWORKING with TCP/IP Volume 3的时候看到下面代码转载 2011-08-15 15:16:37 · 291 阅读 · 0 评论 -
检测到时钟错误。您的创建可能是不完整的 find . -type f -exec touch {} \;
linux-警告:检测到时钟错误。您的创建可能是不完整的。执行下面命令后再makefind . -type f -exec touch {} \;或者 dos2unix XXX.sh或者在notepad里“编辑”》“档案格式转换”》“转换为unix格式”转载 2011-10-28 10:12:55 · 647 阅读 · 0 评论 -
windows下socket编程的select使用
windows下socket编程的select使用(2010-06-21 14:22:08)转载标签:socketselect杂谈分类: c++2010年6月21日14:22:51在window下socket编程使用select的时候与linux下有些不同: =============转载一段先====转载 2011-11-17 20:56:39 · 590 阅读 · 0 评论 -
Socket编程中select()的妙用
Socket编程中select()的妙用本文出自: 作者: (2001-0Array-13 0Array:00:00)发信站: 华南网木棉站 (Tue Aug 4 15:43:41 1ArrayArray8), 转信 【 原文由 cpu 所发表 】 用过 WinSock API 网友们知道:WinSock 编程中有一很方便的地方便是转载 2011-11-17 21:54:17 · 323 阅读 · 0 评论