c++
shenlanzifa
这个作者很懒,什么都没留下…
展开
-
printf详解
.....printf()printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为: printf("", );其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是格式化规定字符, 以"%"开始, 后跟一个或几个规定字符, 用来确定输出内容格式转载 2014-02-20 15:02:18 · 1486 阅读 · 0 评论 -
linux c netcdf 安装
Distributor ID: CentOSDescription: CentOS release 6.5 (Final)原创 2014-06-09 09:42:12 · 3334 阅读 · 0 评论 -
Linux下DIR,dirent,stat等结构体详解
最近在看Linux下文件操作相关章节,遇到了这么几个结构体,被搞的晕乎乎的,今日有空,仔细研究了一下,受益匪浅。首先说说DIR这一结构体,以下为DIR结构体的定义:struct __dirstream { void *__fd; char *__data; int __entry_data转载 2014-07-03 09:27:32 · 619 阅读 · 0 评论 -
十大编程算法助程序员走上大神之路
算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策转载 2014-08-22 12:45:14 · 807 阅读 · 0 评论 -
c 函数指针
函数名与函数指针一 通常的函数调用 一个通常的函数调用的例子://自行包含头文件void MyFun(int x); //此处的申明也可写成:void MyFun( int );int main(int argc, char* argv[]){ MyFun(10); //这里是调用MyFun(10);函数 retu转载 2014-08-26 14:13:23 · 543 阅读 · 0 评论 -
c++中的 extern "C"
比如说你用C 开发了一个DLL 库,为了能够让C ++语言也能够调用你的DLL 输出(Export) 的函数,你需要用extern "C" 来强制编译器不要修改你的函数名。通常,在C 语言的头文件中经常可以看到类似下面这种形式的代码:C代码 #ifdef __cplusplus extern "C" { #endif /**** so转载 2014-08-27 14:24:21 · 484 阅读 · 0 评论 -
陈硕 c++工程实践链接地址
学习Linuxc++和网络服务其http://www.cnblogs.com/Solstice/category/287661.html原创 2014-09-25 16:47:46 · 1324 阅读 · 0 评论 -
深入分析C++引用
yu关于引用和指针的区别的文章很多很多,但是总是找不到他们的根本区别,偶然在codeproject上看到这篇文章,觉得讲的挺好的,所以翻译了下,希望对大家有帮助。原文地址: http://www.codeproject.com/KB/cpp/References_in_c__.aspx 引言 我选择写 C++ 中的引用是因为我感觉大多数人误解了引用。而我之所以有这原创 2014-10-22 10:50:37 · 596 阅读 · 0 评论 -
c++ 基本数据类型字节数
关于这个基本的问题,很早以前就很清楚了,C标准中并没有具体给出规定那个基本类型应该是多少字节数,而且这个也与机器、OS、编译器有关,比如同样是在32bits的操作系统系,VC++的编译器下int类型为占4个字节;而tuborC下则是2个字节。所以int,long int,short int的宽度都可能随编译器而异。但有几条铁定的原则(ANSI/ISO制订的):转载 2014-12-18 15:13:41 · 1483 阅读 · 0 评论 -
windows 编译安装PROJ.4
Proj.4是开源GIS最著名的地图投影库,许多GIS开源软件的投影都直接使用Proj.4的库文件。该项目遵循MIT license,用C语言编写,由USGS的Gerald I. Evenden在1980年代创立并一直维护到退休,后转手到Frank Warmerdam手中。Warmerdam现任OSGeo主席,于2008年5月把Proj.4纳入成为MetaCRS的一部分。Proj.4的主页(原创 2015-02-09 16:25:28 · 3734 阅读 · 0 评论 -
c++ overload 、override、overwrite
Overload、Overwrite和Override的概念比较容易混淆,而且Overwrite和Override的中文翻译五花八门,让人很Confuse,顾保持英文原意:Overload 重载在C++程序中,可以将语义、功能相似的几个函数用同一个名字表示,但参数不同(包括类型、顺序不同),即函数重载。(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不原创 2015-05-07 14:16:07 · 745 阅读 · 0 评论 -
Linux TCP/IP 协议栈调优
文章转载于:http://colobu.com/2014/09/18/linux-tcpip-tuning/最近忙于系统性能的DEBUG和调优。 有些性能瓶颈和Linux的TCP/IP的协议栈的设置有关,所以特别google了一下Linux TCP/IP的协议栈的参数意义和配置,记录一下。如果想永久的保存参数的设置, 可以将参数加入到/etc/sysctl.conf中。如果想临时的更改转载 2016-03-05 15:21:52 · 1122 阅读 · 0 评论 -
VC做任务管理器涉及到的函数
以下是做进程管理器所用到的API函数。若是链接错误,则加上#include #pragma comment ( lib , "Pdh.lib" )第一组函数:枚举进程信息HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, DWORD转载 2014-04-03 15:00:50 · 860 阅读 · 0 评论 -
VC++获得当前系统时间的几种方案
//方案- 优点:仅使用C标准库;缺点:只能精确到秒级#include #include int main( void ) { time_t t = time( 0 ); char tmp[64]; strftime( tmp, sizeof(tmp), " %Y/%m/%d %X %A 本年第%j天 %z" , localtime(&t) ); put转载 2014-03-20 19:12:47 · 607 阅读 · 0 评论 -
头文件重复引用
#include文件的一个不利之处在于一个头文件可能会被多次包含,为了说明这种错误,考虑下面的代码:#include "x.h"#include "x.h"显然,这里文件x.h被包含了两次,没有人会故意编写这样的代码。但是下面的代码:#include "a.h"#include "b.h"看上去没什么问题。如果a.h和b.h都包含了一个头文件x.h。那么x.h在此也转载 2014-03-12 09:00:23 · 4107 阅读 · 1 评论 -
数组指针和指针数组的区别
数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向转载 2014-03-06 15:46:54 · 488 阅读 · 0 评论 -
BMP图像的结构及读写和灰度化
1.文档目的本文档主要给出24位真彩BMP图像的结构、读写和灰度化方法。2.一般BMP图像的结构一般的bmp文件的结结构主要包括文件头,BMP信息头,调色板,位图数据内容(1)BMP文件头(14字节) ,文件的第0字节到第13字节为BMP图像的文件头。BMP文件头数据结构含有BMP文件的类型、文件大小和位图起始位置等信息。 其结构定义如下:转载 2014-03-29 17:03:30 · 3003 阅读 · 1 评论 -
C++: byte和int的相互转化
byte不是一种新类型,在C++中byte被定义的是unsigned char类型;但在C#里面byte被定义的是unsigned int类型//int转bytevoid intToByte(int i,byte *bytes,int size = 4){ //byte[] bytes = new byte[4]; memset(bytes,0,size转载 2014-03-30 14:29:06 · 1302 阅读 · 0 评论 -
客户端 用不用 bind 的区别
无连接的socket的客户端和服务端以及面向连接socket的服务端通过调用bind函数来配置本地信息。使用bind函数时,通过将my_addr.sin_port置为0,函数会自动为你选择一个未占用的端口来使用。 Bind()函数在成功被调用时返回0;出现错误时返回"-1"并将errno置为相应的错误号。需要注意的是,在调用bind函数时一般不要将端口号置为小于1024的值,因为1到1024转载 2014-03-19 14:17:57 · 695 阅读 · 0 评论 -
8位灰度图像BMP的保存
在图像处理中,我们经常需要将真彩色图像转换为黑白图像。严格的讲应该是灰度图,因为真正的黑白图像是二色,即只有纯黑,纯白二色。开始之前,我们先简单补充一下计算机中图像的表示原理。计算机中的图像大致可以分成两类:位图(Bitmap)和矢量图(Metafile)。 位图可以视为一个二维的网格,整个图像就是由很多个点组成的,点的个数等于位图的宽乘以高。每个点被称为一个像素点,每个像素点有确定的颜色,当很多转载 2014-03-29 17:04:29 · 1976 阅读 · 0 评论 -
curl_easy_getinfo() -- 从 curl 句柄里获得附加信息
curl_easy_getinfo() 函数原型声明如下:#include CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info, ... );使用该函数可以在请求求 curl 会话中的相关信息。注意,第 3 个参数必须是一个 long 型,或char型,或curl_slist型,抑或是double型的指针。函数所转载 2014-04-01 14:29:59 · 3103 阅读 · 0 评论 -
动态内存申请函数选择(realloc、malloc 、alloca、 calloc)
1、函数realloc 函数简介: 原型:extern void *realloc(void *mem_address, unsigned int newsize); 语法:指针名=(数据类型*)realloc(要改变内存大小的指针名,新的大小)。//新的大小一定要大于原来的大小,不然的话会导致数据丢失! 头文件:#include 有些编译器需要#转载 2014-03-31 14:30:15 · 827 阅读 · 0 评论 -
libcurl programming
CompilingOn windows platform, goto the unpack folder, such as d:/libcurl/curl, find the winbuild diretory. Open the vs command line window and use “nmake makefile.vc” to compile the code, here is转载 2014-04-01 14:03:34 · 971 阅读 · 0 评论 -
windows核心编程-线程调度,优先级和关联性
每个线程都有一个CONTEXT结构,保存在线程内核对象中。大约每隔20ms windows就会查看所有当前存在的线程内核对象。并在可调度的线程内核对象中选择一个,将其保存在CONTEXT结构的值载入cpu寄存器。这被称为上下文切换。大约又过20ms windows将当前cpu寄存器存回内核对象,线程被挂起。Windows再次检查内核对象,并在可调度的内核对象中选择一个进行调度。此过程不断重复直到转载 2014-03-21 08:45:48 · 722 阅读 · 0 评论 -
VC++ 高精度定时timeSetEvent和回调成员方法
Platform SDK: Windows Multimedia中的timeSetEvent函数和timeKillEvent函数可以启动和停止一个精度达到1ms的高精度定时器。原型:MMRESULT timeSetEvent( UINT uDelay, UINT uResolution, LPTIMECALLBACK lp转载 2014-03-21 15:50:24 · 1158 阅读 · 0 评论 -
线程创建的函数选择问题
创建线程好几个函数可以使用,可是它们有什么区别,适用于什么情况呢?参考了一些资料,写得都挺好的,这里做一些摘抄和整合。【参考1】CreateThread, AfxBeginThread,_beginthread, _beginthreadex的区别=====================================================================转载 2014-03-21 09:21:10 · 555 阅读 · 0 评论 -
socket同步异步阻塞非阻塞区别
首先来解释同步和异步的概念,这两个概念与消息的通知机制有关.举个例子,比如我去银行办理业务,可能选择排队等候,也可能取一个小纸条上面有我的号码,等到排到我这一号时由柜台的人通知我轮到我去办理业务了.前者(排队等候)就是同步等待消息,而后者(等待别人通知)就是异步等待消息.在异步消息处理中,等待消息者(在这个例子中就是等待办理业务的人)往往注册一个回调机制,在所等待的事件被触发时由触发机转载 2016-07-23 17:21:46 · 660 阅读 · 0 评论