- 博客(488)
- 资源 (50)
- 收藏
- 关注
转载 不用临时变量交换两个变量的值
大家对于异或(XOR)的如下性质应该很熟悉:(X XOR Y) XOR Y = X(X XOR Y) XOR X = Y 我们可以利用异或(XOR)的这个性质来实现不用临时变量交换两个变量的值。具体代码很简单:void Swap(int& x, int& y){ x = x ^ y; y = x ^ y; x = x ^ y
2014-04-24 10:34:07 3501
转载 让程序在崩溃时体面的退出
让程序在崩溃时体面的退出之SEH SEH的全称是Structured Exception Handling,是Windows操作系统提供的一种异常处理方式。SEH是属于操作系统的特性,不为特定语言设计,从它的名字就能看出它是一种结构化的异常处理方式。SEH包括了2个部分:终止处理__try/__finally和异常处理__try/__except,下面分别进行介绍。
2014-04-24 10:31:08 4202
转载 按位与、或、异或等运算方法
按位与运算符(&)参加运算的两个数据,按二进制位进行“与”运算。运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0例如:3&5 即 0000 0011 & 0000 0101 = 0000 0001 因此,3&5的值得1。 另,负数按补码形式参加按位与运算。“与运算
2014-04-24 10:29:21 3387
转载 避免 Static Initialization Order Fiasco (SIOF)
Static Initialization Order FiascoStatic Initialization Order Fiasco (SIOF),我也是最近才知道了这个说法,因为在开发程序的时候被它bug了:对于一个static变量,不管它是全局的或者是类的成员变量,访问它的时候不一定总是成功的,甚至会造成程序crash,因为不能保证它在被访问时已经被初始化了(跟初始化的顺序有关,所以称
2014-02-13 11:33:21 4290
转载 替换^M字符
替换^M字符替换^M字符在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。1.使用dos2unix命令。一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便:$ dos2unix myfile.txt上面的命令会去掉行尾的^M。 2.使用vi的替换功能。启动vi,
2013-12-19 15:27:42 3494
转载 Char转为int时高位符号扩展的问题
代码示例: static get_utili(constchar*p){int util;…while(isspace((int)*p))//跳过空格++p;util=(int)*p++;…}现象&后果: 当传入的参数p指向的内容为0x9A、0XAB等内容(最高位为1)时,得到的int型变量util的值将会出错,因为char会进行符号
2013-07-31 11:11:28 4015
转载 CGI 文件下载
文件名:download.c 用交叉编译工具编译生成download#include#include#include#include#include#define MAX_FILE_LEN (1024*30)#define DOWNLOAD_FILE_PATH"/works/config/"#define DOWNLOAD_FILE_NAME"
2013-07-17 17:38:49 9235
转载 教你如何rEFIt-让你开机免按option!
苹果下refit菜单启动项使用方法 先安装refit你下载的文件搞好后出弹出以下窗口,运行那个refit。 mpkg,跟着就是用refit创建启动菜单在终端下输入cd /,然后输入cd efi,然后输入cd refit, 然后输入sh enable-always.sh,跟着输入你bogon密码,大功告成. 我想很多人都在Intel Mac上装了win
2013-07-06 09:34:08 8208
转载 Linux 的多线程编程的高效开发经验
背景Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微和隐晦的差别。不注意这些 Linux 上的一些开发陷阱,常常会导致程序问题不穷,死锁不断。本文中我们从 5 个方面总结出 Linux 多线程编程上的问题,并分别引出相关改善的开发经验,用以避免这些的陷阱。我们希望这些经验可以帮助读者们能更好更快的熟悉 Linux 平台的多线程编程。我们假
2013-07-03 15:18:07 3746 1
转载 关于SIGPIPE导致的程序退出
关于SIGPIPE导致的程序退出收集一些网上的资料,以便参考:http://blog.chinaunix.net/u2/69143/showart_1087349.html 当服务器close一个连接时,若client端接着发数据。根据TCP协议的规定,会收到一个RST响应,client再往这个服务器发送数据时,系统会发出一个SIGPIPE信号给进程,告诉进程这个连
2013-07-03 15:11:02 3208 1
转载 详解大端模式和小端模式
详解大端模式和小端模式一、大端模式和小端模式的起源 关于大端小端名词的由来,有一个有趣的故事,来自于Jonathan Swift的《格利佛游记》:Lilliput和Blefuscu这两个强国在过去的36个月中一直在苦战。战争的原因:大家都知道,吃鸡蛋的时候,原始的方法是打破鸡蛋较大的一端,可以那时的皇帝的祖父由于小时侯吃鸡蛋,按这种方法把手指弄破了,因此他的父亲,就下令,命令
2013-06-28 14:36:38 3105
转载 linux下C程序获取绝对路径各种方法分析
昨天肚腩群里有人问LINUX下C如何获取程序绝对路径。初看这问题,肚腩觉得很简单啊,就用getcwd或者argv[0]就可以了。写了个程序试试,#include int main(int argc,char *argv[]){ char buffer[100]; getcwd(buffer, sizeof(buffer)); printf("The c
2013-06-22 21:10:52 28883 4
转载 std::string的工具函数
一般来说,在处理字符串的时候通常会用到如下一些函数/方法:length、substring、find、charAt、toLowerCase、toUpperCase、trim、equalsIgnoreCase、startsWith、endsWith、parseInt、toString、split等。 如果使用STL中的std::string,它已经提供了如下一些比较有用的方法:leng
2013-06-08 17:37:21 3870
转载 关于GBK和UTF-8之间的转换
关于GBK和UTF-8之间的转换,很多初学者会很迷茫。一般来说GBK和UTF-8是文字的编码方式,其对应的内码是不一样的,所以GBK和UTF-8的转换需要对内码进行一一映射,然后进行转换。对于一般系统上的工程,一般使用libiconv即可,但是对于嵌入式或手机操作系统,libiconv显得就有点庞大了。在这里提供GBK和UTF8转换以及全半角、大小写转换等函数,希望对手机开发的
2013-05-09 14:21:30 3730
转载 C/C++常用时间函数介绍
在介绍之前,先介绍两个概念 Coordinated Universal Time(UTC):协调世界时,又称为世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT)。比如,中国内地的时间与UTC的时差为+8,也就是UTC+8。美国是UTC-5。 Calendar Time:日历时间,是用“从一个标准时间点到此时的时间经过的秒数”来表示的时
2013-05-09 10:49:25 3573
转载 goahead登录提示框中服务器信息的修改
一般情况下一个web服务器都会有个登录验证的过程,在验证框里面包含了服务器的信息如下图的goahead服务器,360IE提示谷歌提示有时候你不想让这个goahead出现在这,就应该修改源码了在goahead源码中有webs.c是定义了realm name70 static char_t websRealm[64] = T("nihao"); /*
2013-04-18 10:37:08 3679
转载 extern用法详解
1 基本解释 extern可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。 另外,extern也可用来进行链接指定。2 问题:extern 变量 在一个源文件里定义了一个数组:char a[6]; 在另外一个文件里用下列语句进行了声明:extern char *a; 请问,这样可以吗? 答案
2013-04-16 14:07:49 2989
转载 C++关键字:mutable、volatile、explicit以及__based
关键字mutable是C++中一个不常用的关键字,他只能用于类的非静态和非常量数据成员我们知道一个对象的状态由该对象的非静态数据成员决定,所以随着数据成员的改变,对像的状态也会随之发生变化!如果一个类的成员函数被声明为const类型,表示该函数不会改变对象的状态,也就是该函数不会修改类的非静态数据成员.但是有些时候需要在该类函数中对类的数据成员进行赋值.这个时候就需要用到mutable关键
2013-04-01 13:50:45 3043
转载 静态编译web server Appweb(带Matrixssl支持) For ARM9+ linux
在众多的web server中有许多轻量级的web server,如boa , thttp, lighttpd等,但如果要有较高的安全性和能为后期的web开发开发提供便利的嵌入式web服务器,上面提到的几个web server显得太单薄了.公司要求用web来管理开发的嵌入式产品(就像路由器那种),并且要有一定的安全性能.综合比较了大几款轻量级,嵌入式web server.最后推荐都是由Michae
2013-03-01 14:26:37 5713
转载 ./configure配置的参数 交叉编译 host,build target的含义
交叉编译 host,build target的含义:build就是你正在使用的机器,host就是你编译好的程序可以运行的平台,target就是你编译的程序可以处理的平台.这个 build和host比较好理解,但是target就不好办了,到底什么意思呢?一般来说,我们平时所说的交差编译用不到他target的,比如. /configure --build=i386-linux,--
2013-03-01 14:20:16 4978
转载 avn安装配制apache
介绍这篇文档介绍如何安装Apache,SVN以及如何结合它们,如何配置多库,如何创建用户帐号等等。该文档由 SVN俱乐部 提供,由arain编写。 联系我们QQ 群: 21765703SVN俱乐部官网: http://www.svnclub.com 所用到的软件及其版本号和下载站点温馨提示:您可以直接到SVN俱乐部 网站下载,也可
2013-02-21 13:27:08 1854
转载 STL运用的C++技术(7)——代码整合 .
本文将6篇文章中出现的代码整合在一起,主要参考了HP的STL源码。通过这些代码,不仅可以看到这些C++技术在STL中的运用,同时也能大致了解STL的架构组织及实现方法。首先给出一个测试用例,所有代码都是自定义的,未用到STL。读者可以建立一个C++工程,把这些代码加进去,就可以运行起来。方便之处在于,读者可以修改这些代码,实现一些自己的功能,以加深对于STL的理解。 STL真正实
2013-01-30 15:45:06 656
转载 STL运用的C++技术(6)——函数对象 .
STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍函数对象,其实是接上一篇的话题,因为函数对象本质上还是重载操作符。主要参考了《C++ Primer》和《STL源码剖析》。 可以为类类型的对象重载函数调用操作符,定义了调用操作符的类,其对象称之为函
2013-01-30 15:43:51 695
转载 STL运用的C++技术(4)——重载函数 .
STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍重载函数。主要参考了《C++ Primer》和《STL源码剖析》。 有人会问,STL大量运用了模板,哪里用过重载函数呢?首先介绍重载函数的概念。出现在相同作用域中的两个函数,如果具有相同的名字而形参表
2013-01-30 15:33:52 619
转载 STL运用的C++技术(3)——模板实参推断 .
STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍模板实参推断的运用。主要参考了《C++ Primer》和《STL源码剖析》。 STL利用模板模板实现的,比如它的算法都是一个个的函数模板。我们知道模板是一个公式或是蓝图,本身不是类或是函数,需进行实例
2013-01-30 15:33:19 687
转载 STL运用的C++技术(2)——模板特化 .
STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍模板特化技术的运用。主要参考了《C++ Primer》和《STL源码剖析》。 STL中大量运用了模块,可以说模板是创建类或函数的公式。但是,我们并不总能写出对所有可能被实例化的类型都最合适的模板。
2013-01-30 15:32:50 677
转载 STL运用的C++技术(1)——成员模板 .
STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍成员模板的运用。主要参考了《C++ Primer》和《STL源码剖析》。 成员模板 member template 任意类(模板或非模板)可以拥有本身为类模板或函数模板的成员,
2013-01-30 15:25:10 564
转载 STL运用的C++技术(5)——重载操作符
STL是C++标准库的重要组成部分之一,它不仅是一个可复用的组件库,更是一个包含算法与数据结构的软件框架,同时也是C++泛型编程的很好例子。STL中运用了许多C++的高级技术。本文介绍重载操作符。主要参考了《C++ Primer》和《STL源码剖析》。 重载操作符是具有特殊名称的函数:保留了operator后接需定义的操作符符号。这是《C++ Primer》中的定义。在STL中
2013-01-30 15:22:50 597
转载 C++模板类 容器之map 及 对象副本 深/浅拷贝 等问题
一般地当我们只想知道一个值是否存在时,set 最有用处;希望存储也可能修改一个相关的值时,map 最为有用. map提供一个键值对容器,在map(也叫关联数组)中我们提供一个键/值对,键用来索引,而值用作被存储和检索的数据. 在使用map和set时两个最主要的动作是向里面放入元素以及查询元素是否存在. 首先要包含头文件#include 定义并生成map为定
2013-01-29 10:44:03 2405
原创 map的key元素为结构体时该结构体需重截操作符<
map的key元素为结构体时该结构体需重截操作符1.1 struct s { int a; int b; int c; bool operator<(const s&) const { if ((a<other.a) || ((a==other.a)&&(b<other.b)) || ((a==other.a)&&(b==oth
2013-01-29 10:21:40 1857
转载 忽略大小写的比较、查找
忽略大小写的比较、查找: strcasecmp与strcasestr 在C语言中(string.h)定义了用于进行忽略大小写的字符串比较的函数strcasecmp及strncasecmp,以及用于子串查找的函数strstr,不过很遗憾的是,C及C++中并未定义strstr的“忽略大小写版本”。 以下是strstr的一种实现形式(注意,当s2是一个空串时
2013-01-10 14:23:26 5627 1
转载 Qt线程类
Qt线程类 Qt 包含下面一些线程相关的类:QThread 提供了开始一个新线程的方法QThreadStorage 提供逐线程数据存储QMutex 提供相互排斥的锁,或互斥量QMutexLocker 是一个便利类,它可以自动对QMutex加锁与解锁QReadWriterLock 提供了一个可以同时读操作的锁QReadLocker与QWriteLocker 是便利类
2013-01-09 17:00:15 857
转载 用 VC++建立 Windows 服务程序
本文主要介绍了 OpenSCManager、CreateService、OpenService、ControlService、DeleteService、RegisterServiceCtrlHandler、SetServiceStatus、StartServiceCtrlDispatcher等操作服务程序的主要几个API的用法,具体的函数参数大家可以查阅MSDN。为什么要使用服务应该程序
2013-01-08 11:36:09 591
转载 不同平台字节序影响位字段封包
How Endianness Effects Bitfield PackingHints for porting drivers.Big endian machines pack bitfields from most significant byte to least.Little endian machines pack bitfields from least significa
2013-01-07 09:24:53 841
转载 用 C 语言编写 Windows 服务程序的五个步骤
Windows 服务被设计用于需要在后台运行的应用程序以及实现没有用户交互的任务。为了学习这种控制台应用程序的基础知识,C(不是C++)是最佳选择。本文将建立并实现一个简单的服务程序,其功能是查询系统中可用物理内存数量,然后将结果写入一个文本文件。最后,你可以用所学知识编写自己的 Windows 服务。当初我写第一个 NT 服务时,我到 MSDN 上找例子。在那里我找到了一篇 Nigel Th
2012-12-31 10:06:40 704
转载 Posix线程编程指南(2)
概念及作用在单线程程序中,我们经常要用到"全局变量"以实现多个函数间共享数据。在多线程环境下,由于数据空间是共享的,因此全局变量也为所有线程所共有。但有时应用程序设计中有必要提供线程私有的全局变量,仅在某个线程中有效,但却可以跨多个函数访问,比如程序可能需要每个线程维护一个链表,而使用相同的函数操作,最简单的办法就是使用同名而不同变量地址的线程相关数据结构。这样的数据结构可以由Posix线程库
2012-12-28 17:54:38 570
转载 errno与多线程
http://docs.sun.com/app/docs/doc/819-7051?l=zh《多线程编程指南》一、摘自《APUE》POSIX和ISO C将errno定义为这样一个符号,它扩展成为一个可修改的整型左值(lvalue)。这可以是包含出错编号的一个整数,或者是一个返回出错编号指针的函数。以前使用的定义是: 但是在支持线程的环境中,多个线程共享进程地址空间,每个线程都有属于
2012-12-28 17:52:25 4839
转载 errno多线程安全
一、errno的由来 在C编程中,errno是个不可缺少的变量,特别是在网络编程中。如果你没有用过errno,那只能说明你的程序不够健壮。当然,如果你是WIN32平台的GetLastError(),效果也是一样的。 为什么会使用errno呢?个人认为,这是系统库设计中的一个无奈之举,他更多的是个技巧,而不是架构上的需要。我们观察下函数结构,可以发现,函数的参数返回值只有一个
2012-12-28 17:49:46 907
转载 POSIX线程专有数据的空间释放问题,pthread_key_create
下面说一下线程中特有的线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所有线程都可以使用它,而它的值在每一个线程中又是单独存储的。这就是线程存储的意义。下面说
2012-12-28 17:47:58 939
转载 微软ping程序源代码完整版
微软ping程序源代码完整版编写自己的一个ping程序,可以说是许多人迈出网络编程的第一步吧!!这个ping程序的源代码经过我的修改和调试,基本上可以取代windows中自带的ping程序. 各个模块后都有我的详细注释和修改日志,希望能够对大家的学习/* 本程序的主要源代码来自MSDN网站, 笔者只是做了一些改进和注释! 另外需要注意的是在Build之前,必须加入ws2_32
2012-12-06 14:17:26 919
UFS Explorer Professional Recovery 5.23 Crack.zip
2019-09-27
ProIEC101ClientVer1.5基于IEC101的主站端仿真测试软件
2018-10-12
plsql 12.0.7 x86 x64 简体中文 注册版
2018-01-17
支持VS2017的vax插件VA_X_Setup2210
2017-03-17
PLSQL Developer(X64) v11.0.6.1796 主程序+ v11中文包+
2016-05-31
Visual Assist X下载V10.9.2062.0 官方原版_带破解补丁
2015-05-28
IEC 61850 标准 中文 完整版
2012-02-01
VA_X_Setup1822(含破解)
2010-05-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人