c
onlyonename
这个作者很懒,什么都没留下…
展开
-
【诡异的精简C语言程序】main函数隐藏
转自:http://blog.csdn.net/masefee/article/details/6606813哎,几个月以来没有写博客了,时间太紧,精力又有限。今天正好有这个时间,打算写一篇今天在网上讨论的一个问题。我想大家应该都听过“国际C语言混乱代码大赛(IOCCC, The International Obfuscated C Code Contest)”吧,转载 2011-10-14 22:02:28 · 638 阅读 · 0 评论 -
位运算的应用和实例
转自:http://blog.csdn.net/hackbuteer1/article/details/6725252(注:其中有几个错了)位运算应用口诀清零取数要用与,某位置一可用或若要取反和交换,轻轻松松用异或移位运算要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形。 2 " 3 ">>"右移:右边的位被挤掉。对于左边移出的空转载 2011-11-09 10:45:40 · 328 阅读 · 0 评论 -
atexit 函数
转自:http://blog.csdn.net/adcxf/article/details/2218627很多时候我们需要在程序退出的时候做一些诸如释放资源的操作,但程序退出的方式有很多种,比如main()函数运行结束、在程序的某个地方用exit() 结束程序、用户通过Ctrl+C或Ctrl+break操作来终止程序等等,因此需要有一种与程序退出方式无关的方法来进行程序退出时的必要处理。方法就转载 2011-12-29 22:05:29 · 575 阅读 · 0 评论 -
C语言的位移运算
转自:http://blog.csdn.net/fanwenbo/article/details/6737499C语言提供了一组位移运算,以便向左或向右移动位。一个是左移位运算x 还有一个相应的右移位运算x>>k,但是它的行为就有一点微妙了。一般而言机器支持两种右移位运算:一是算术位移, 另外一个是逻辑位运算。逻辑位运算就是左边补k个转载 2012-01-02 22:53:08 · 643 阅读 · 0 评论 -
sscanf(格式化字符串输入)
转自:http://blogger.org.cn/blog/more.asp?name=FoxWolf&id=28282scanf(格式化字符串输入)相关函数scanf,fscanf表头文件#include定义函数int sscanf (const char *str,const转载 2012-02-10 11:03:38 · 7219 阅读 · 0 评论 -
排序函数QSORT
转自:http://blogger.org.cn/blog/more.asp?name=FoxWolf&id=26941num:数组指针;n:排序单元个数;sizeof:每个单元大小;cmp:比较函数:返回值>0则交换两个单位;=0表示两个数相等. 七种qsort排序方法转载 2012-02-10 11:17:39 · 484 阅读 · 0 评论 -
很酷的C语言技巧
转自:http://blog.jobbole.com/16035/C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。指定的初始化很多人都知道像这样来静态地初始化数组:1intfibs[] = {转载 2012-03-29 14:06:34 · 652 阅读 · 0 评论 -
糟蹋好题——魔方阵问题
转自:http://www.cnblogs.com/pmer/archive/2012/04/02/2429870.html糟蹋好题——魔方阵问题输出"魔方阵"。所谓魔方阵是指这样的方阵,它的每一行、每一列和对角线之和均相等。例如,三阶魔方阵为 8 1 6 3 5 7 4 9 2要求输出1~n*n的自然数构成的魔方阵。解转载 2012-04-03 22:50:30 · 9781 阅读 · 3 评论 -
C语言的歧义
转自:http://www.kuqin.com/language/20090529/53686.html本文来自:http://cocre.com/?p=830语言是人与人相互沟通的途径,而计算机语言则是人和计算机沟通的途径。就算是任何再完美的自然语言都会有歧义,但是又是什么让人和计算计算机间产生了歧义呢?下面这篇文章来自Gowri Kumar的Puzzle C一文。我做了转载 2012-05-02 14:07:37 · 1062 阅读 · 0 评论 -
memset()的效率以及源码分析
转自:http://blog.csdn.net/hackbuteer1/article/details/7343189void *memset(void *s, int ch, size_t n);作用:将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作。不知道有没有像我一样把memset当作万能转载 2012-05-14 17:06:43 · 572 阅读 · 0 评论 -
细谈C语言中的strcpy,strncpy,memcpy,memmove,memset函数
转自:http://blog.csdn.net/piaojun_pj/article/details/5945926一.函数介绍:1、memcpy函数原型:extern void *memcpy(void *dest, const void *src, size_t count);用法:#include功能:由src所指内存区域复制count个字节到dest所指内存区域。说转载 2012-09-02 22:04:17 · 933 阅读 · 0 评论 -
sscanf()函数用法
转自:http://wellwy.blog.51cto.com/1609602/492084sscanf() - 从一个字符串中读进与指定格式相符的数据. 函数原型: Int sscanf( const char *, const char *, ...); int scanf( const char *, ...); 头文件:转载 2012-09-03 22:54:48 · 464 阅读 · 0 评论 -
[Chromium阅读点滴]arraysize宏定义与数组元素个数统计
转自:http://blog.sina.com.cn/s/blog_496be0db0100x9cz.html 阅读Chromium代码时,碰到一个宏arraysizeof,定义如下:template typename T, size_t N>char (&ArraySizeHelper(T (&array)[N]))[N];// That gcc want转载 2012-09-04 21:52:06 · 3964 阅读 · 1 评论 -
ls命令的实现
转自:http://blog.chinaunix.net/space.php?uid=25909722&do=blog&id=2856481http://blog.chinaunix.net/uid-25909722-id-2876133.htmlls - list directory contents (man ls)ls的功能是列出目录中的内容。转载 2012-09-05 20:15:43 · 6687 阅读 · 1 评论 -
同步与异步IO、阻塞与非阻塞IO
转自:http://tangzibot.blog.163.com/blog/static/6044209320093734815307/很多时候我们常常看到同步与异步,阻塞与非阻塞的出现。有的地方直接将同步与阻塞画上了等号。异步与非阻塞画上了等号。事实上这是不对的。同步不等于阻塞,而异步也不等于非阻塞。下面就来仔细的看看同步与异步、阻塞与非阻塞的概念差别,及他们的组合应用。同步:所转载 2012-10-16 22:03:42 · 459 阅读 · 0 评论 -
胜者树与败者树
转自:http://blog.163.com/yangjun1988422@126/blog/static/474129172011711103313483/ 胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的转载 2012-10-21 22:29:04 · 624 阅读 · 0 评论 -
详解C中volatile关键字
转自:http://www.cnblogs.com/yc_sunniwell/archive/2010/06/24/1764231.html volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程转载 2012-11-13 22:00:54 · 648 阅读 · 0 评论 -
很酷的C语言技巧
转自:http://www.kuqin.com/language/20120423/320158.htmlC语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。指定的初始化很多人都知道像这样来静态地初始化数组:1i转载 2012-12-27 23:56:59 · 527 阅读 · 0 评论 -
strtok函数实现与应用
转自:http://blog.csdn.net/ast_224/article/details/3977311strtok:#include char *strtok(char *str, const char *delim);char *strtok_r(char *str, const char *delim, char **saveptr);功能:分解字符串为一组标记转载 2012-12-30 22:54:21 · 620 阅读 · 0 评论 -
关于函数strtok和strtok_r的使用要点和实现原理(二)
转自:http://blog.csdn.net/helpxs/article/details/6959057(一)中已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数。 1.一个应用实例网络上一个比较经典的例子是将字符串切分,存入结构体中。如,现有结构体typedef struct person{转载 2012-12-30 23:18:07 · 554 阅读 · 0 评论 -
C/C++:在函数外存取局部变量的一个比喻
转自:http://www.kuqin.com/language/20110628/92004.html在StackOverflow上一这样一个关于C/C++的问题,问问题的人给了一个代码如下:12345678910111213int * foo(){ int a = 5;转载 2012-12-31 23:13:45 · 470 阅读 · 0 评论 -
浮点数的二进制表示
转自:http://www.kuqin.com/language/20100606/85209.html1.前几天,我在读一本C语言教材,有一道例题: #include void main(void){ int num=9; /* num是整型变量,设为9 */ float* pFloat=# /* pFloat转载 2013-01-01 09:57:30 · 443 阅读 · 0 评论 -
让C程序更有效率的10种方法
转自:http://www.kuqin.com/language/20110811/105045.html任何代码的美丽不仅在于找到一个给定的问题的解决方案,但在它的简单性,有效性,紧凑性和效率(内存)。设计的代码比实际执行更难 。因此,每一个程序员当用C语言开发时,都应该保持这些基本的东西在头脑中。 本文向你介绍规范你的C代码的10种方法。1. 避免不必要的函数调用转载 2012-12-31 23:11:33 · 519 阅读 · 0 评论 -
C语言运行时库详解
转自:http://club.topsage.com/thread-541343-1-1.html运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随着操作系统多线程技术的发展,转载 2013-01-01 16:26:22 · 741 阅读 · 0 评论 -
调试器工作原理之二——实现断点
转自:http://blog.jobbole.com/23632/本文是关于调试器工作原理探究系列的第二篇。在开始阅读本文前,请先确保你已经读过本系列的第一篇(基础篇)。本文的主要内容这里我将说明调试器中的断点机制是如何实现的。断点机制是调试器的两大主要支柱之一 ——另一个是在被调试进程的内存空间中查看变量的值。我们已经在第一篇文章中稍微涉及到了一些监视被调试进程的知识,但转载 2013-01-02 00:14:15 · 6242 阅读 · 0 评论 -
调试器工作原理之三——调试信息
转自:http://blog.jobbole.com/24916/本文是调试器工作原理探究系列的第三篇,在阅读前请先确保已经读过本系列的第一和第二篇。本篇主要内容在本文中我将向大家解释关于调试器是如何在机器码中寻找C函数以及变量的,以及调试器使用了何种数据能够在C源代码的行号和机器码中来回映射。调试信息现代的编译器在转换高级语言程序代码上做得十分出色,能够将转载 2013-01-02 00:16:10 · 1363 阅读 · 0 评论 -
C语言中史上最愚蠢的Bug
转自:http://www.kuqin.com/language/20110827/264016.html首先,作者想用一段程序来创建一个文件,如果有文件名的话,就创建真正的文件,如果没有的话,就调用?tmpfile()?创建临时文件。他这段程序就是HTTP下载的C程序。code==200就是HTTP的返回码。1234else if转载 2012-12-31 23:10:28 · 621 阅读 · 0 评论 -
C/C++返回内部静态成员的陷阱
转自:http://blog.csdn.net/haoel/article/details/1388498背景在我们用C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你一定要返回一块函数外转载 2012-12-21 22:53:05 · 373 阅读 · 0 评论 -
12个有趣的C语言面试题
转自:http://www.kuqin.com/language/20120909/330359.html12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个!1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof转载 2012-12-22 00:34:33 · 456 阅读 · 0 评论 -
大端法、小端法、网络字节序 转
转自:http://www.blogjava.net/tinysun/archive/2009/12/31/307952.html?1356194245关于字节序(大端法、小端法)的定义《UNXI网络编程》定义:术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。转载 2012-12-23 00:33:25 · 650 阅读 · 0 评论 -
socket通信基本流程
Server端:#include #include #include #include #include #include #include int serverPort = 8000;int main(){ struct sockaddr_in listeningSockAddr; struct sockaddr_in clientSockAddr; int原创 2013-02-03 16:13:15 · 754 阅读 · 0 评论 -
c++的string类的所有函数及功能
转自:http://chaozaiai.blog.163.com/blog/static/91328155201223181041376/append 函数能将某字符串(或数据串)加到某字符串后面 assign 函数能将字符串(或数据串)的内容设定给某字符串 at 函数能回传字符串中位于某个位置的字符 begin 函数将回传该字符串的起始定位器 c_str 函数能将字符转载 2013-01-20 07:47:54 · 903 阅读 · 0 评论 -
C++获取一个目录下的所有文件
转自:http://www.yuloo.com/news/1007/448756.html #include #include using namespace std; void main() { _finddata_t file; long lf; if((lf = _findfirst("C:\\WINDOWS\\*.*", &file)转载 2013-01-20 07:37:06 · 10781 阅读 · 0 评论 -
递归列出目录下的所有文件
#include #include #include #include using namespace std;int count=0;//用来表示缩进void findFile(string dir){ long filehandle; _finddata_t fileInfo; string dirPattern=dir+"\\*.*";//给定目录下所有形式原创 2013-01-20 09:11:33 · 992 阅读 · 0 评论 -
Visual C++中的C运行时库浅析
转自:http://www.bccn.net/Article/kfyy/vc/jszl/200608/4278.html1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。转载 2013-03-10 22:38:22 · 780 阅读 · 0 评论 -
进程的通信方式
转自:http://blog.csdn.net/chen825919148/article/details/8146128进程的通信方式 (1)管道(Pipe):管道可用于具有亲缘关系进程间的通信,允许一个进程和另一个与它有共同祖先的进程之间进行通信。 (2)命名管道(named pipe):命名管道克服了管道没有名字的限制,因此,除具有管道所具有的功能外,它还允许无亲缘关系进转载 2013-03-19 23:05:38 · 560 阅读 · 0 评论 -
腾讯2012实习生笔试题2+答案解析
转自:http://www.cnblogs.com/jerry19880126/archive/2012/08/13/2637079.html1、计算表达式x6+4x4+2x3+x+1最少需要做()次乘法A、3 B、4 C、5 D、6 2、给定3个int类型转载 2013-03-22 23:23:57 · 1696 阅读 · 0 评论 -
一道c面试题
题目地址:http://bbs.csdn.net/topics/390415100原题:int main(){char str1[]="123";char str2[]="123456789";int m=0x1234;int n =0x5678;strcpy(str1,str2);printf("str1:%s\n",str1);return 0;}原创 2013-04-09 23:21:49 · 546 阅读 · 0 评论 -
linux下C开发中几点技术小总结
转自:http://blog.csdn.net/wallwind/article/details/8801923最近一致致力于linux下的C开发,因为老大是某讯出来的。因此,使用的主要技术都是某讯的基本的后台架构思想。在这段时间,学习到了很多,然后佩服某讯的技术果然很厉害。因此,自我感觉,从头开发我们这个项目,到现在,跟着我这个大牛级的老大学到了不少东西。转载 2013-04-15 23:33:21 · 551 阅读 · 0 评论 -
Linux 服务器后台系统架构的高性能设计
转自:http://blog.csdn.net/wallwind/article/details/8536342因为,目前在做游戏的的后台开发。尽管最近在忙于开发游戏业务逻辑的的相关代码,也在不停思考着游戏后台的一些架构问题。因为游戏后台处理着大部分的业务逻辑,因此。在性能上是必须的。那么如何尽最大的提高性能呢,下面根据我们后台架构提出的转载 2013-04-15 23:37:39 · 671 阅读 · 0 评论