语言---c++
文章平均质量分 72
iteye_4528
这个作者很懒,什么都没留下…
展开
-
C++语言必备
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。 1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段 2、ht...原创 2011-09-29 16:09:23 · 83 阅读 · 0 评论 -
判断一段内存是否全部为0
方法一: start = clock(); while( (BITSIZE-sizeof(int)*index)>=sizeof(int) ) { //printf("%d %d\t",( *(int *)((char*)bits+sizeof(int)*index) ),(*(bits+index))); //result |= ( *(int *)...2013-04-05 22:07:31 · 3232 阅读 · 0 评论 -
conflicting types for
错误:test.c:22: error: conflicting types for 'urlencode'test.c:18: error: previous implicit declaration of 'urlencode' was here 原因一:原来是因为没有先做函数声明,而函数位于main()之后。在main函数前声明了函数原型后,一切ok. 原因二:头文件的被...2012-04-06 14:58:15 · 1895 阅读 · 0 评论 -
一些Warning的解决 C语言
问题一:[Warning] assignment makes pointer from integer without a cast 问题二:[Warning] assignment from incompatible pointer type 举例说明typedef struct _Item{ char * key; char * value; unsigned i...2012-03-31 15:08:40 · 319 阅读 · 0 评论 -
关于strtok的问题,已经解决办法(对空字符串切分存在问题)
在编写程序是发现string.h中的strtok有些和想象的不同 比如对字符串“|2|”以"|"切分时,原以为会返回,第一为空字符串,第二个为2 ,第三个为空字符串。但是当使用时发现,第一为2,二、三均为NULL #include <stdio.h>#include <stdlib.h>#include <string.h...2012-03-30 20:09:06 · 1287 阅读 · 0 评论 -
HashTable简单实现,使用ELFHash 哈希
头文件#ifndef __GHASH_H_#define __GHASH_H_#define HASHSIZE 512typedef struct _Item{ char * key; char * value; struct Item * next;} Item;void GHashInit();Item * HashInS...原创 2012-03-26 09:25:27 · 151 阅读 · 0 评论 -
VC++操作mysql的完整配置流程
一直以来都想用C/C++来操作Mysql数据库,应用C++的高效率和严密的语法,我窍以为处理效果会更好。因为一直用php的时候,总觉得格式是简单,但不够严密,有时会出现一些意想不到的结果,可能也只是我对php理解肤浅或偏见吧。 C++操作数据库肯定是可以的,但好像有点麻烦。直接使用VC的添加数据库向导,但各种途径都找不到Mysql的驱动程序,只能告罢。在网上找了很多资料,有建立数据库连接池的,...原创 2011-12-06 10:43:59 · 425 阅读 · 0 评论 -
mysql_real_connect()连接远程数据库
关于如何用mysql_real_connect()连接远程数据库 mysql_real_connect()试图建立到运行host的一个MySQL数据库引擎的一个连接。其函数原形为: MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, c...原创 2011-12-06 10:40:18 · 1499 阅读 · 0 评论 -
一个c回调函数的例子
#include <stdio.h>typedef int (*CallBackFun)(char *p); int Afun(char *p) { printf("Afun 回调打印出字符%s!\n", p); return 0;}int Cfun(char *p) { printf("Cfun 回调打印:%s, Nice to meet you!\n...原创 2011-10-28 16:55:01 · 128 阅读 · 0 评论 -
转:C语言的编译过程---推荐
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件1.编译预处理读取c源程序,对其中的伪指令(以#开头...原创 2012-02-20 22:27:31 · 61 阅读 · 0 评论 -
c程序编译流程
1.预处理(Pre-Processing)2.编译(Compiling)3.汇编(Assembling)4.链接(Linking)1.预处理(Pre-Processing)读取c源程序,对其中的伪指令(以#开头的指令)和 预定义符号进行处理伪指令主要包括以下四个方面(1)宏定义指令:如#define,#undef。(2)条件编译指令:如#ifdef,#ifndef,#else,#eli...原创 2011-10-23 10:54:05 · 98 阅读 · 0 评论 -
C和C++混合编程
1.#pragma once关于#pragma once ,VC++及G++都支持,大胆的用吧。导出类型必须一致.要么是C的,要么是C++2.__cplusplus这个是必须的#ifdef __cplusplusextern “C” {#endif// Routines Here#ifdef __cplusplus}#endifc++中调用c的代码1、对于 C++ 中非类的成员函数,可以简单的在函...原创 2011-10-23 10:44:49 · 88 阅读 · 0 评论 -
C程序组成部分(内存布局)
一、C程序组成部分1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。4)栈——增长方向:自顶向下增长;自动变量以及每次函数调用时所需要保存的信息(返回地址;环境信息)。5)堆——动态存储...原创 2011-10-23 10:38:05 · 140 阅读 · 0 评论 -
析构函数virtual与非virtual区别
作为通常的原则,如果一个类定义了虚函数,那么它的析构函数就应当是virtual的。因为定义了虚函数则隐含着:这个类会被继承,并且会通过基类的指针指向子类对象,从而得到多态性。 这个类可能会被继承,并且会通过基类的指针指向子类对象”,因此基类的析构函数是否为虚将决定子类的对象是否被析构。 很多时候你只能够获取基类指针,但却不知道它实际是哪个子类,这时候删除基类指针时虚析构函数就很有用...原创 2011-10-23 10:26:33 · 74 阅读 · 0 评论 -
const char* 与char*const的区别
C++标准规定,const关键字放在类型或变量名之前等价的。const int n=5; //same as belowint const m=10const char * pstr; // pstr 是字符指针,它指向的量是 const的,例如: char *m= "hello world 1"; char *n= "Hello w...原创 2011-10-23 10:18:28 · 138 阅读 · 0 评论 -
对于一个整数大小的bit数组中的非0 位统计的方法--bitcount [转]
对于bit数组中非0位个数统计的方法,请看以下文章popcount 算法分析http://www.cnblogs.com/Martinium/archive/2013/03/01/popcount.html 该方法的局限在于如果bit位超过64位则无法处理,仅用于unsigned int 的位计算。如果对超过64/32bit的bit数组进行统计,则将bit区域按照sizeof...原创 2013-04-10 21:36:09 · 652 阅读 · 0 评论