C/C++
xb_0916
自我评价
为人诚恳,热情,专业知识扎实,工作认真踏实负责,良好的沟通能力及团队合作创新精神
展开
-
MD5加密函数
MD5即Message-Digest Algorithm 5(信息摘要算法5),是计算机广泛使用的散列算法之一(又译摘要算法、哈希算法)。经MD2、MD3和MD4发展而来,诞生于20世纪90年代初。用于确保信息传输完整一致。虽然已被破解,但仍然具有较好的安全性,加之可以免费使用,所以仍广泛运用于数字签名、文件图片完整性验证以及口令加密等领域。在linux环境下,要使用MD5加密算法。可以使用M原创 2013-05-20 09:37:13 · 2335 阅读 · 0 评论 -
C语言定义和声明区别
C语言定义和声明区别1. 变量的定义和声明C语言定义和声明分为变量的定义和声明和函数的定义和声明。由于,函数是具有全局外部特性,并且函数的定义和声明区别是很明显的。其声明需要返回值类型,函数名和参数列表。而函数的定义需要函数体。所以,很容易区别函数的声明和定义。对于变量的声明和定义,就不是那么明显。通常变量定义和声明的区别是有没有为变量分配内存。如果为变量分配内存就是定义,转载 2014-12-11 12:44:23 · 587 阅读 · 0 评论 -
scanf、sscanf中的正则表达式
1、定制自己的扫描集 %[abc]、%[a-z]、%[^abc]、%[^a-z],比isdigit()、isalpha()更加灵活。[]内是匹配的字符,^表示求反集。[c-sharp] view plaincopyint i;char str[80], str2[80];// scanf("%d%[abc]%s", &i, str, str2转载 2014-09-22 14:14:27 · 396 阅读 · 0 评论 -
sscanf(格式化字符串输入)
scanf() 函数中 %[] 格式控制符用法 此格式控制符的基本格式为: %[scanfset] scanfset 有两种形式:一种是以非 ^ 字符开头的 scanset , 表示在读 此格式控制符的基本格式为:%[scanfset] scanfset 有两种形式:一种是以非 “^” 字符开头的 scanset , 表示在读入字符串时将匹配所有在 s转载 2014-02-21 10:25:59 · 832 阅读 · 0 评论 -
linux读取配置文件(C语言版)
一个通用的linux系统中C语言版读取配置文件的函数。123456789101112131415161718192021222324252627282930313233343536373839404142转载 2014-05-21 16:12:10 · 389 阅读 · 0 评论 -
C 语言的可变参数表函数的设计
首先在介绍可变参数表函数的设计之前,我们先来介绍一下最经典的可变参数表printf函数的实现原理。一、printf函数的实现原理在C/C++中,对函数参数的扫描是从后向前的。C/C++的函数参数是通过压入堆栈的方式来给函数传参数的(堆栈是一种先进后出的数据结构),最先压入的参数最后出来,在计算机的内存中,数据有2块,一块是堆,一块是栈(函数参数及局部变量在这里),而栈是从内存的高地址向低地转载 2014-05-15 17:04:52 · 340 阅读 · 0 评论 -
epoll完整实例
#include deque>#include map>#include vector>#include pthread.h>#include semaphore.h>#include time.h>#include sys/time.h>#include sys/shm.h>#include errno.h>#include sys/types.h>#in转载 2014-05-08 14:23:51 · 580 阅读 · 0 评论 -
gdb调试多进程 gdb 多进程 多线程调试方法 gdb调试
关于gdb调试多进程很早之前就看过,但一直没有总结很深入的学习,今天又碰到这个问题了,记录下记得kk跟我说过,在开发程序的时候尽量少调试,尽量少使用gdb等调试工具,尽量多的使用log等方式来定位错误,这样会大大减少调试所需的时间和精力,同时也能快速的定位问题。当然,利用gdb调试还是有很多的优势的,比如对于我这个菜鸟来说,可以好好学习下强大的gdb~关于gdb的基本调试,基本已经掌握了,转载 2013-07-17 11:12:18 · 3858 阅读 · 0 评论 -
用GDB调试程序
使用GDB一般来说GDB主要调试的是C/C++的程序。要调试C/C++的程序,首先在编译时,我们必须要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++)的 -g 参数可以做到这一点。如:$gcc -g -Wall hello.c -o hello$g++ -g -Wall hello.cpp -o hello如果没有-g,你将看不见程序的函数名、变量名,所代替的全是运行转载 2013-07-16 10:42:55 · 480 阅读 · 0 评论 -
MYSQL C语言API函数全列表
1.mysql_affected_rows() //返回上次UPDATE、DELETE或INSERT查询更改/删除/插入的行数。 2.mysql_autocommit() //切换 autocommit模式,ON/OFF。 3.mysql_change_user() //更改打开连接上的用户和数据库。转载 2013-06-18 17:15:08 · 620 阅读 · 0 评论 -
C函数调用机制
C与汇编程序的相互调用为了提高代码执行效率,内核源代码中有的地方直接使用了汇编语言编制。这就会涉及在两种语言编制的程序之间的相互调用问题。本节首先说明C语言函数的调用机制,然后举例说明两者函数之间的调用方法。 C函数调用机制在Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c程序。那么head.s程序是如何把执行控制转交给init/m转载 2013-05-27 17:05:01 · 497 阅读 · 0 评论 -
C实现打印log到文件中的通用方面
在C编程中,我们可以写一个函数将程序运行的long写到文件中。代码如下:char fmtBuf[128];char msgBuf[1024];void logToFile(const char *fmt,...){ va_list args; va_start(args,fmt); File *fp; fp = fopen("/var/l转载 2013-05-13 12:10:54 · 1445 阅读 · 0 评论 -
C函数之memcpy()函数用法
函数原型void *memcpy(void*dest, const void *src, size_t n);功能由src指向地址为起始地址的连续n个字节的数据复制到以destin指向地址为起始地址的空间内。头文件#include返回值 函数返回一个指向dest的指针。说明 1.source和destin所指内存区域不能重转载 2013-05-24 13:33:41 · 603 阅读 · 0 评论 -
C语言实现封装、继承和多态
1、 概述C语言是一种面向过程的程序设计语言,而C++是在C语言基础上衍生来了的面向对象的语言,实际上,很多C++实现的底层是用C语言实现的,如在Visual C++中的Interface其实就是struct,查找Interface的定义,你可以发现有这样的宏定义:#ifndef Interface#define Interface struct#en转载 2015-03-27 20:18:20 · 994 阅读 · 0 评论