c语言
文章平均质量分 69
robertzhouxh
这个作者很懒,什么都没留下…
展开
-
jquery的json插件
今天来说说jquery的json插件, json(javascript object notation)是一种轻量级的数据交换格式, 易于阅读和编写, 同时也易于机器解析和生成. 关于更多json的知识可以查看这里. jquery的json插件查看这里这里以前几天写的一个程序为例来说明一下.首页现在HTML页面中引用2个JS文件假设我们现在有一个全局文字对象变量1转载 2012-11-14 13:56:37 · 481 阅读 · 0 评论 -
自测试MemLeak
//汇总头文件 在各个文件之外的头文件! 包含了每个子文件的头文件#ifdef __cplusplus}#endif#endifextern void *testMalloc(size_t size);extern void testFree(void *pMem);#if 0#define malloc(n) \ testMalloc(n原创 2012-12-10 17:56:10 · 549 阅读 · 0 评论 -
数据结构之AVL树
数据结构之AVL树Category: 数据结构与算法 View: 7,921 阅 Author: Dong作者:Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/structure/avl/1. 概述AVL树是最早提出的自平衡二叉树,在AVL树中任何节点的两个子树的高度转载 2012-12-10 18:07:59 · 275 阅读 · 0 评论 -
数据结构之红黑树
数据结构之红黑树Category: 数据结构与算法 View: 9,860 阅 Author: Dong作者:Dong | 可以转载, 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址:http://dongxicheng.org/structure/red-black-tree/1. 简介红黑树是一种自平衡二叉查找树。它的统计性能要好于平衡二转载 2012-12-10 18:09:21 · 315 阅读 · 0 评论 -
八大排序算法总结
八大排序算法总结分类: 收藏2009-10-10 13:49 44456人阅读 评论(87) 收藏 举报算法存储mergeshell插入排序1.直接插入排序原理:将数组分为无序区和有序区两个区,然后不断将无序区的第一个元素按大小顺序插入到有序区中去,最终将所有无序区元素都移动到有序区完成排序。要点:设立哨兵,作为临时存储和判断数组转载 2012-12-10 18:10:35 · 263 阅读 · 0 评论 -
自己的出错处理之-debug.c
在本c文件对应的头文件中直接定义宏定义REP 即可写到文件中!在这包含本应用用到的所有头文件( 头文件的定义要严格按照 debug.h 的方式定义 来防止函数定义的冲突)#ifdef __cplusplusextern "C" {#endif #define REP_LOG_FILE "/tmp/.rep_log"#define REP_DEBUG_BUFFER_SI原创 2012-12-06 16:31:35 · 494 阅读 · 0 评论 -
自己的出错处理程序之-dubug.h
这是一个典型的头文件的写法 有的头文件还可能用得到别的头文件 防止大量的冲突定义! 所有的宏定义 都写到这!REP 控制将调试信息写到文件中 并调用对应的接口!======================================================================================================#ifndef _RE原创 2012-12-06 16:21:39 · 411 阅读 · 0 评论 -
C语言宏定义技巧
C语言宏定义技巧2010-06-16 01:06写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字转载 2012-12-10 10:49:32 · 343 阅读 · 0 评论 -
新手:Linux下使用第三方C库(openssl)
新手:Linux下使用第三方C库(openssl) 2010-06-18 17:43:55| 分类: 学习心得|字号 订阅不管什么库文件,你都既要在包含.h文件(不然编译通不过:有未声明的函数),也要在gcc选项里面指定.so文件的位置(不然链接通不过:未知的符号)比如gcc main.c -I include_path -L lib_path -l转载 2012-12-07 10:46:13 · 3899 阅读 · 0 评论 -
C99标准学习笔记(1)——一些名词解释
C99标准学习笔记(1)——一些名词解释Category: C/C++,C99标准学习笔记 — Feng @ 上午 6:18本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。作者:gfree.wind@gmail.com博客:blog.focus-转载 2012-12-07 10:23:07 · 414 阅读 · 0 评论 -
linux 动态加载动态库
linux 动态加载动态库动态加载库在Linux中可以动态加载库,其使用方法如下:1. 先生成一个动态库libtest.so/* test.c */#include #include void test1(int no){ printf("*****************************************\n"); p转载 2012-11-14 13:53:07 · 351 阅读 · 0 评论 -
关于log_error_write
标准C保留的宏,在进行预处理时,预处理会将它们替换成相应的行号和文件名,由于在预处理时会将某文件和它包含的全部头文件合并成为一个文件,编译器使用这两的宏能准确地指明源代码中错误的位置两个宏__FILE__表示当前文件名__LINE__表示当前行号debug 的时候很方便.gcc的内建原创 2012-11-13 15:44:54 · 658 阅读 · 0 评论 -
创建自己的log文件
iPhone中的NSLog还是挺不方便的,除非你用SSH调试,才能够看到NSLog的输出。可是这样一来,由于不是使用SpringBoard启动程序,语言环境就只能是英文,而且无法获得3轴重力感应的任何数据。下面的代码可以把log保存到文件,这样你就可以既用SpringBoard启动程序还能看到Log了。#define FILE_LOG "/var/root/m转载 2012-10-26 15:04:15 · 3297 阅读 · 0 评论 -
json-c-0.9 在linux上编译使用
总结json-c-0.9 在linux上编译使用的方法,和一个简单的例子。1.将json-c-0.9解压,这里选择目录/home/lesterpang/fs/json-c-0.92.指令下述命令[cpp] view plaincopy# cd /home/lesterpang/fs/js转载 2012-11-14 17:15:24 · 814 阅读 · 0 评论 -
json-c-0.9库的json_object_object_get()引发崩溃问题
最近一个 C/C++ 项目要用到 JSON, 所以选用了 json-c 库. C 语言不像 PHP/Python 等动态语言, 可以无缝地将 JSON 数据结构转为自身的数据结构, 所以操作起来会有些麻烦.首先是数据结构. 在 json-c 里, 所有的 JSON 数据结构都是 json_object 类型, 然后这个 json_object 结构有一个 type 字段, 表明当前的对象是转载 2012-11-14 16:56:40 · 3578 阅读 · 0 评论 -
用C语言玩JSON
目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生; 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你之前已经听说过,但对于XML和 JSON的不同之处可能会不怎么了解。对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的,虽然JSON才处于起步阶段,但我相信转载 2012-11-14 14:21:18 · 1163 阅读 · 0 评论 -
c的整形转换和整形提升
1. integral promotion:整形提升有符号或无符号的char、short、整形的位域,和枚举类型,可以在一个整形可被使用的表达式里使用,如果在int能够容纳这些类型的所有值,则这些类型被转换为int,否则被转换成unsigned int。2. 整形转换(1)有符号整形转换成无符号整形:a.如果无符号整形跟原整形一样宽,则结果是原整形的机器码被视为无符号整形。int i =原创 2012-12-07 10:08:51 · 481 阅读 · 0 评论 -
C99标准学习笔记(2)——整数提升
C99标准学习笔记(2)——整数提升Category: C/C++,C99标准学习笔记 — Feng @ 上午 6:19本文的copyleft归gfree.wind@gmail.com所有,使用GPL发布,可以自由拷贝,转载。但转载请保持文档的完整性,注明原作者及原链接,严禁用于任何商业用途。作者:gfree.wind@gmail.com博客:blog.focus-li转载 2012-12-07 10:17:32 · 428 阅读 · 0 评论 -
【转】结构体中Char a[0]用法——柔性数组
【转】结构体中Char a[0]用法——柔性数组分类: c++ 2011-10-20 15:31 127人阅读 评论(0)收藏 举报有如下定义:typedef struct{ char a; char b[0]; }; 其中元素Char b[0];叫做柔性数组,主要用于使结构体包含可变长字段。详细内容如下:柔性数组; 【柔性数组结构成员转载 2012-12-24 13:41:21 · 379 阅读 · 0 评论 -
结构体最后定义一个char p[0];这样的成员有何意义(转)
结构体最后定义一个char p[0];这样的成员有何意义(转)(2006-12-26 19:01) struct ast_exten { char *exten; /* Extension name */ int matchcid;转载 2012-12-24 13:43:13 · 1377 阅读 · 0 评论 -
C语言宏定义技巧
C语言宏定义技巧2010-06-16 01:06写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。1,防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif2,重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字转载 2012-12-11 13:46:26 · 311 阅读 · 0 评论 -
详解Linux内核红黑树算法的实现
详解Linux内核红黑树算法的实现分类: linux内核修炼之其它 基本算法 2012-04-11 17:023435人阅读 评论(3)收藏举报linux内核structinsertnulltree算法 开发平台:Ubuntu11.04 内核源码:linux-2.6.38.8.tar.bz2 关于二叉查找树的概念请参考转载 2013-03-18 23:29:55 · 609 阅读 · 0 评论 -
linux内核学习
1. 内核学习方法,编译、调试等常见问题1.1 关于编译升级内核到2.6.0的一些问题 作者:ommm http://linux.chinaunix.net/bbs/thread-281831-1-5.html1.2 VMWare Workstation 6.0调试Linux Kernel,竟如此方便 作者:albcamus http://linux转载 2013-03-25 10:49:20 · 723 阅读 · 0 评论 -
详解二叉查找树算法的实现
详解二叉查找树算法的实现分类: 基本算法2012-04-06 13:32 327人阅读 评论(0) 收藏 举报算法inserttreedeletenullsearch 参考文献: 《数据结构(C语言版)》 严蔚敏 吴伟民 编著 开发平台:Ubuntu11.04 编译器:gcc version4.5.2 (Ubuntu/Linaro转载 2013-03-25 10:54:00 · 720 阅读 · 0 评论 -
例解GNU C之零长数组与变长数组
例解GNU C之零长数组与变长数组分类: 漫谈C语言2011-11-25 17:31 469人阅读 评论(0) 收藏 举报cstructinitializationlinux内核编译器语言 前言:计算机语言是编译器和程序员交流的依据和规范,GNU C是GCC特有的功能,在Linux内核中被广泛应用。 帮助文档:http://gcc.gnu.org/o转载 2013-03-25 10:51:51 · 468 阅读 · 0 评论 -
Linux2.6.36内核红黑树源码注释
红黑树的原理理解起来并不困难,无非是左右旋转,涂色。然而要编码出一个高效简洁的实现代码却挺复杂。近日学习Linux源码,对其红黑树实现作了注释,与大家分享一下。我贴的代码是我边理解边“抄写”出来的,和源始代码可能会有少许出入,但不影响理解。本文着重注释插入删除操作,其它部分不作重点。若要了解红黑树的基础知识或是Linux红黑树的使用,请另行参考其它资料。 先看一下节点定义:转载 2013-03-24 20:04:54 · 754 阅读 · 0 评论 -
例解GNU C之匿名联合或结构体
例解GNU C之匿名联合或结构体分类: 漫谈C语言2011-12-04 12:43 488人阅读 评论(0) 收藏 举报cstructlinux内核initializationgcc编译器 前言:计算机语言是编译器和程序员交流的依据和规范,GNU C是GCC特有的功能,在Linux内核中被广泛应用。 帮助文档:http://gcc.gnu.org/o转载 2013-03-25 10:51:19 · 859 阅读 · 0 评论 -
判断单链表中是否存在环及查找环的入口点
判断单链表中是否存在环及查找环的入口点问题1:如何判断单链表中是否存在环(即上图中从结点E到结点R组成的环)?解答: 设一快一慢两个指针(实际上是两个迭代器,Node *fast, *low)同时从链表起点开始遍历,其中快指针每次移动长度为2,慢指针则为1。则若无环,开始遍历之后fast不可能与low重合,且fast或fast->next最终必然到达转载 2013-05-19 12:22:54 · 624 阅读 · 0 评论 -
漫谈C语言及如何学习C语言--http://my.oschina.net/apeng/blog/137911
目录:[ - ]为什么要学习C语言?C语言学习方法1,参考书籍2,动手实验环境搭建3,网络资源附录一些有用的C语言网络资源:一些值得关注及研究的C语言相关项目:一些C语言编程时可以使用的工具软件,帮你提高代码质量:C语言编程规范编程标准:C语言编程电子书及教程:在这里想比较系统的谈谈个人对C语言学习方法的理解。分别按照书籍、实验环境搭转载 2013-07-25 13:00:14 · 1288 阅读 · 0 评论 -
从2-3-4树谈到Red-Black Tree(红黑树)
从2-3-4树谈到Red-Black Tree(红黑树)分类: 24.data structures2011-06-08 12:00 18185人阅读 评论(49) 收藏 举报tree数据结构blog算法文档insert从2-3-4树谈到Red-Black Tree(红黑树) 译者:July。出处:http://blog.csdn.net转载 2013-03-18 14:32:19 · 657 阅读 · 0 评论 -
静态库和动态库链接那些事--http://www.crazyshell.org/blog/?p=50
静态库和动态库链接那些事发布于 2012/07/07 由 crazybaby406 人浏览暂无评论发表评论事情源于: 两位同事进行连调时,A同事调用B同事的so, 运行了一会后直接出core了. 后来发现是B同事的so的结构体名和A同事的类名冲突了.静态库测试程序很简单如下:libA.h1转载 2012-12-17 10:30:21 · 1044 阅读 · 0 评论 -
__FILE__,__LINE__,FUNCTION__实现代码跟踪调试
__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程)__FILE__,__LINE__,FUNCTION__实现代码跟踪调试(linux下c语言编程 )先看下简单的初始代码:注意其编译运行后的结果。root@xuanfei-desktop:~/cpropram/2# cat global.h //头文件#ifndef CLO转载 2012-12-25 10:53:58 · 361 阅读 · 0 评论 -
我是这样学习Linux下C语言编程的-完全认识GNU C 语言库glibc
Linux软件下载源码编程文章资料周立发用C程序进行图像分割的方法- -|回首页 | 2007年索引 | - -libc6-dev软件包提供的所有内容我是这样学习Linux下C语言编程的-完全认识GNU C 语言库glibc关键词: LinuxC语言 库文件 glibc library1、C语言库是用来干什么的?编程人员所提到的库,其英文是library转载 2012-12-24 14:41:12 · 1482 阅读 · 0 评论 -
结构体初始化为0的技巧!!
我也要学C语言-第十九章:结构体的定义和初始化(365天编程极限学习-第1天上午)结构体到底是什么呀?! 我们来思考一个问题,如果我们要保存一个年级所有学生的信息,我们该如何去做呢!我们稍微回忆下以前我学过的知识,大概能想到用数组去做,因为学号啊,姓名啊,成绩啊,都是同类元素的集合,当然用数组了,如果用单个变量真的会累死人呀!但是再进一步思考发觉,学生的信息还是有不少东西的,转载 2012-12-12 11:48:22 · 44948 阅读 · 1 评论 -
我也要学C语言(威力加强版)_第二章:system函数与命令行参数以及内存的查看
我也要学C语言(威力加强版)_第二章:system函数与命令行参数以及内存的查看system函数 在C语言中可以使用system函数向操作系统传递控制台命令,通过system()函数执行命令和在DOS窗口中执行命令都是一样的效果。但是WINDOWS控制台下使用的命令比起LINUX下的SHELL还是很弱的。不过一些常用的命名都还是有的,可以满足一般的操作需要。比如我们要复制1个转载 2012-12-12 11:53:20 · 844 阅读 · 0 评论 -
指针转换为整数 注意可移植性!
我想改编到 64 位机的现有代码。主要的问题是在一个函数中,以前的编码器使用转换为函数本身的适当类型的无效 * 参数。简短的示例:void function(MESSAGE_ID id, void* param){ if(id == FOO) { int real_param = (int)param; // ... }}当然,在 6转载 2012-12-12 15:40:27 · 901 阅读 · 0 评论 -
Linux 内核中的 GCC 特性---泛型宏
GCC 和 Linux 是出色的组合。尽管它们是独立的软件,但是 Linux 完全依靠 GCC 在新的体系结构上运行。Linux 还利用 GCC 中的特性(称为扩展)实现更多功能和优化。本文讨论一些重要的扩展,讲解如何在 Linux 内核中使用它们。GCC 当前的稳定版本(版本 4.3.2)支持 C 标准的三个版本:International Organization for转载 2012-12-12 16:29:23 · 922 阅读 · 0 评论 -
C运行库概念
C运行库概念 1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数. 2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等);所以,C 语言内核开发出来之后,Dennis Rit转载 2012-12-14 14:50:02 · 350 阅读 · 0 评论 -
UNIX下是\n,Windows下是\r\n (Linux & Windows中Enter键的不同解释)
ASCII模式和Binary模式的区别是回车换行的处理,Binary模式不对数据进行任何处理,ASCII模式将回车换行转换为本机的回车字符,比如:UNIX下是\n,Windows下是\r\n,Mac下是\r。 ASCII模式下会转换文件,不能说是不同系统对回车换行解释不同,而是不同的系统有不同的行结束符。UNIX系统下行结束符是一个字节,即十六进制的0A,而Windows的系统是两个字节转载 2013-07-26 10:36:17 · 1557 阅读 · 0 评论 -
linux中的strcpy 与 memcpy效率比较
Linux中strcpy()与memcpy()效率的比较发表于 2011 年 04 月 02 日 由 admin优化程序性能时,后知后觉地才发现strcpy()很耗时,特别是与memcpy()相比较。因此查看了一下两个函数的Linux实现源码。strlen()和strcpy()的实现:static inline size_t __kern转载 2012-12-03 11:33:23 · 4474 阅读 · 1 评论