- 博客(26)
- 收藏
- 关注
原创 线程同步技术
一 原子锁 1 相关问题 多个线程对同一数据进行原子操作,会产生结果丢失。 当线程A执行g_nStatus++时,如果线程切换时间正好在线程A将值保存到g_nStatus之前,线程B继续执行g_nStatus++, 那么线程A再次被切换回来时,会将原来线程A保存的值,赋值到g_nStatus,线程B进行的运算就被覆盖了。 2
2012-08-13 22:22:14
838
原创 进程与线程简介
一 Windows进程 1 Windows进程相关 进程是一个容器, 包含程序执行需要的代码和数据,资源等等信息.Windows是一个多进程的操作系统,可以同是执行多个进程. Windows进程的特点: 1) 每个进程都有自己的ID号 2) 每个进程都有自己的地址空间,进程之间无法访问对方的地址空间. 3) 每个进程都有自己的安全属性
2012-08-13 21:34:55
543
原创 最简单的socket客户端与服务端例子
服务器端:#include #include #pragma comment(lib, "ws2_32.lib")void main(){ //1 初始化阶段 WORD wVer; WSADATA wsaData; wVer = MAKEWORD(1,1); WSAStartup(wVer,&wsaData); //2 建立Socket SOCKET mySocke
2012-08-10 03:01:58
670
原创 使用Windows Api来调整屏幕亮度
/*调整亮度 参数0-100设置成功返回0设置失败返回负数*/int SetGamma(int bright){ void * lpGamma = NULL; int iArrayValue; WORD gMap[3][256] = {0}; lpGamma = &gMap; HDC hdc = ::GetDC(NULL); if (NULL == hdc) retur
2012-07-02 17:45:06
8025
原创 Qt将ttf文件设置为默认字体
//将字体文件名传给addApplicationFont,得到字体的Idint fontId = QFontDatabase::addApplicationFont("./res/msyh.ttf");//将字体Id传给applicationFontFamilies,得到一个QStringList,其中的第一个元素为新添加字体的familyQString msyh = QFontDataba
2012-03-23 15:14:27
3709
原创 如何写递归函数
一、递归的意思是函数自己调用自身(直接方式),或者在自己函数调用的下级函数中又调用自己(间接方式)。 递归可拆分为递和归两个过程,递就是向下层传递参数,归是指当函数不再向下传递时会一层一层的返回。二、写递归函数需考虑的要素: a.怎样取一个变量
2011-09-04 13:01:46
4478
原创 七、函数(基本概念)
1.函数, 具体逻辑功能(与数据)的载体,通过输入参数,进行内部黑箱操作,最后产生一个结果(可能一个数据,也可能是一批数据。可能通过return,也可能通过形参的间接方式)给调用用户>2.函数声明和调用声明:是对编译器宣告有这么一个函数,它的返回值
2011-08-28 16:42:13
915
原创 六、数组(例4---字符串数组)
#include #include int main(){ int i=0,x; printf("请输入有待电脑记忆的字符串个数:"); char c[3];memset(c,0,3); while(i<2&&(c[i]=getchar())!='
2011-08-28 16:04:28
486
原创 六、数组(例3---多维数组)
#include #include int main(){ //多维数组的初始化 //[行][列] 一个平面 int array1[3][3]={1,2,3,4,5,6,7,8,9}; int array2[3][3]={{1,2,3},{4,5}
2011-08-28 15:57:06
484
原创 六、数组(例2---数组的访问)
#include #include int main(){ //如何获取数组具体元素的值和内存地址 char array1[]={1,2,3,4,5}; printf("%p==%p\narray1:%d *&array1[0]:%d array1[0
2011-08-28 15:53:54
546
原创 六、数组(例1---声明和初始化)
#include #include #include int main(){ //数组的定义和初始化 int array1[5]={1,2,3,4,5}; int array2[5]={1,2,3};//没写的后面的元素值默认为0 int i;f
2011-08-28 15:50:39
580
原创 六、数组(基本概念)
1.数组是一组同类型的变量的集合体,在内存里连续存储分配。数组声明(不一定是定义,预告内容,声明没有初始化过程)和初始化2.如何访问数组元素 a.用下标运算符去访问 b.用指针(有类型的内存地址)风格结合*取内容符号访问方式3.字符数组:一个字
2011-08-28 15:46:35
440
原创 五、语句(例3---switch)
#include #include int main(){ char str0[30]; memset(str0,0/*'\0'*/,sizeof(str0)); //对内存空间做批量化的指定值的填充,不管操作对象是什么数据类型,它就是以字节为单位,进行
2011-08-27 17:44:17
448
原创 五、语句(例2---if)
#include int main(){ int a=0; float f=0.0; if(0==a)printf("a:%d 与0相等!\n",a); else printf("a:%d 与0不相等!\n",a); if(0==f)pri
2011-08-27 17:42:51
436
原创 五、语句(例1---输入输出)
#include int main(){ int n; printf("请输入一个整数:"); int iRet=scanf("%d",&n);//如果用户一直输入回车,scanf在这种调用格式下不会返回 printf("您输入的值是:%d 接收
2011-08-27 17:36:27
611
原创 五、语句(基本概念)
1.标准输入语句 //scan formatint scanf(,);int返回值表示返回函数实际接收到的接收到准确参数的个数scanf具有输入缓冲区, 未处理完的用户录入的数据,可供后面第二个scanf()使用空白字符,多个会被转成一个,起到
2011-08-27 17:20:00
708
原创 四、运算符(例2)
#include #include int main(){ //取模(取余数)运算 int iCount=0; printf("Rand number:"); while(1) { int iRnd=rand()%100;//ran
2011-08-27 16:50:30
479
原创 四、运算符(例1---赋值运算符)
#include int main(){ //初始化和赋值 int iCount=5,iCount2=iCount;//定义初始化运算是自左向右 int iCount3=iCount2=++iCount; printf("iCount:%d iCou
2011-08-27 16:45:21
405
原创 四、运算符(基本概念)
1.单目,双目,三目单目:i++ --i ~i !i双目:即运算符位于两个表达式之间 a+b三目:1 ? printf(“true”) : printf(“false”)2.赋值运算符(不是简单的等式) int i=0;
2011-08-27 16:26:27
881
原创 三、常量(基本概念)
1.常量是不可改变的量(临时只读的内存空间,例字符串常量),值是个常数,有数据类型2.整型常量有长整,短整,有符号,无符号。短整:-3万~+3万二进制,八进制,十六进制011, 011U, 0x11233.浮点型常量,也有单精
2011-08-27 15:40:56
937
原创 二、变量(例4)
#include int main(){ int iV1; int iV2=-10; unsigned uV6=33; char szV3='a'; float fV4; long double dV5=3.14;
2011-08-21 20:45:21
630
原创 二、变量(例3)
#include int main(){ unsigned int iYear=2011; int iVar1=0x33; int iVar2=011; char szZero='0';\ //最右边符号表示一行写不够,下
2011-08-21 20:37:01
547
原创 二、变量(例2)
#include int main(){ long int liVar;//不同的编译器对long解析不一样,有一些是把它看成是8个字节 long lVar;//gcc,g++则分析成long跟int一样,都是4个字节 signed int
2011-08-21 20:34:00
469
原创 二、变量(例1)
//#include int m_iPi=3.14159;//!!!这样写法:m_iPi表示是一个全局变量,生命不依赖于任何一个函数结束而结束, i代表它的数据类型是整型 //在VC里这种变量名的写法是很普遍,成为一个标准void function(){ in
2011-08-21 20:31:12
427
原创 二、变量
二、变量1.变量是存储数值的内存空间,所存的值可被改变(储物箱)2.由于数值的类型有多种,对应的变量就有: 整型(整数)变量, 浮点型(实数)变量, 和字符型变量。 本质上理解:C的数据类型只有:int整型变量,其它的数据
2011-08-21 20:27:23
469
原创 一、C语言的产生和发展及特点
一、C语言的产生和发展1. 1972年美国的Dennis Ritchie, 最初用在UNIX下的DEC PDP-11计算机。由早期的BCPL(Basic Combind Programming Language)发展而来,并命名为C语言。2. AN
2011-08-21 20:07:06
1410
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人