
C/C++
文章平均质量分 75
luozhan
这个作者很懒,什么都没留下…
展开
-
各大有名库的介绍
在C++中,库的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了设计库来扩充功能要好过设计更多的语法的言论。现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。不少都是让人眼界大开,亦或是望而生叹的思维杰作。由于库的数量非常庞大,而且限于笔者水平,其中很多并不了解。所以文中所提的一些库都是比较著名的大型库。标准库标准库中提供转载 2008-03-27 21:12:00 · 840 阅读 · 0 评论 -
socket-select函数
最近在用socket编程,用到select函数,于是上网查找资料,如下这篇是讲的比较详细易懂的: Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如 connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生转载 2009-06-26 09:50:00 · 1074 阅读 · 0 评论 -
同步异步与阻塞和非阻塞
同步异步指的是通信模式,而阻塞和非阻塞指的是在接收和发送时是否等待动作完成才返回所以不能混淆这四个词。以下是我的一些理解,请大家多指教 首先是通信的同步,主要是指客户端在发送请求后,必须得在服务端有回应后才发送下一个请求。所以这个时候的所有请求将会在服务端得到同步 其次是通信的异步,指客户端在发送请求后,不必等待服务端的回应就可以发送下一个请求,这样对于所有的请求动作来说将会在转载 2009-06-26 15:00:00 · 1475 阅读 · 0 评论 -
socket在windows下和linux下的区别
1)头文件 windows下winsock.h/winsock2.h linux下sys/socket.h 错误处理:errno.h 2)初始化 windows下需要用WSAStartup WSADATA wsaData; err = WSAStartup(0x202,&wsaData); if ( err != 0 ) { ret原创 2009-06-26 11:01:00 · 13226 阅读 · 0 评论 -
MinGW VS CygWin
Programming Erlang翻的差不多了,按照之前赖赖我们的约定,看完书之后要搞一个聊天程序来练练手。但是鉴于Erlang的GUI比较丑,决定用C来实现界面,erlang和c通过interface交互。于是搞了下Eclipse for C/C++,在eclipse的帮助里边,看到MinGW和CgyWin这两个toolchain,由于之前没研究过c(只用来应付过考试),所以这么经典的工具都不转载 2009-05-20 10:13:00 · 2156 阅读 · 0 评论 -
谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词
标题 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 选择自 fmddlmyy 的 Blog 关键字 谈谈Unicode编码,简要解释UCS、UTF、BMP、BOM等名词 这是一篇程序员写给程序员的趣味读物。所谓趣味是指可以比较轻松地了解一些原来不清楚的概念,增进知识,类似于打RPG游戏的升级。整理这篇文章的动机是两个问题: 问题一: 使用Windows记事本的“另存为”,可转载 2009-05-18 18:15:00 · 655 阅读 · 0 评论 -
#pragma 完全介绍
Pragma是什么?翻译:Rogers后附英文原文。(译者注:一句话,pragma就是为了让编译器编译出的C或C++程序与机器硬件和操作系统保持完全兼容而定义的宏扩展,#pragma是和特定编译器相关的。)两部分:1.Pragma说明;2.Pragma的语法。一、Pragma说明(Directives)C和C++程序的每次执行都支持其所在的主机或操作系统所具有的一些独特的特点。一些程序原创 2009-02-04 14:11:00 · 1753 阅读 · 0 评论 -
C语言常用宏定义
01: 防止一个头文件被重复包含#ifndef COMDEF_H#define COMDEF_H//头文件内容#endif02: 重新定义一些类型,防止由于各种平台和编译器的不同,而产生的类型字节数差异,方便移植。typedef unsigned char boolean; /* Boolean value type. */typedef unsigned long int转载 2009-02-02 11:31:00 · 714 阅读 · 0 评论 -
C和C++头文件一览
C、传统 C++ #include //设定插入点 #include //字符处理 #include //定义错误码 #include //浮点数处理 #include //文件输入/输出 #include //参数化输入/输出 #include //数据流输入/输出 #include //定义各种数据类型最值常量 #include //定义本地化函数 #i转载 2008-06-06 01:45:00 · 1093 阅读 · 0 评论 -
.bss段和.data段的区别
【例一】用cl编译两个小程序如下:程序1:int ar[30000];void main(){ ......} 程序2:int ar[300000] = {1, 2, 3, 4, 5, 6 };void main(){ ......} 发现程序2编译之后所得的.exe文件比程序1的要大得多。当下甚为不解,于是手工编译了一下,并使用了/FA编译选项来查看了一下其各转载 2008-07-28 15:53:00 · 681 阅读 · 0 评论 -
C Runtime
1)运行时库就是 C run-time library,是 C 而非 C++ 语言世界的概念:取这个名字就是因为你的 C 程序运行时需要这些库中的函数.2)C 语言是所谓的“小内核”语言,就其语言本身来说很小(不多的关键字,程序流程控制,数据类型等);所以,C 语言内核开发出来之后,Dennis Ritchie 和 Brian Kernighan 就用 C 本身重写了 90% 以上的 UNIX转载 2008-04-05 23:20:00 · 728 阅读 · 0 评论 -
typedef的四个用途和两个陷阱
<br />用途一:<br />定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:<br />char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, <br />// 和一个字符变量;<br />以下则可行:<br />typedef char* PCHAR; // 一般用大写<br />PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针<br /转载 2010-10-12 11:06:00 · 635 阅读 · 0 评论