随笔分类 - C++
摘要:#include #include "D:/Program Files/Lua/include/lua.hpp"#pragma comment(lib, "D:/Program Files/Lua/lib/lua51.lib") using namespace std;int main(int argc, char* argv[]){ //创建Lua运行环境 lua_State* L = luaL_newstate(); if(L == NULL) { cout<<"luaL_newstate() fail!"<&l
阅读全文
posted @ 2013-09-16 14:20
Leung文
摘要:int main(int argc, char* argv[]){ unsigned short x=3,y=5; cout<<"~x="<<(unsigned short)~x<<endl;//位求反 cout<<"~x="<<~x<<endl;//位求反 cout<<"x&y="<<(x&y)<<endl;//位与 cout<<"x^y="<<(x^y)<&l
阅读全文
posted @ 2013-05-12 22:27
Leung文
摘要:const_cast<new_type>(expression):用于强制消除对象的常量性static_cast<new_type>(expression):用于基本数据类型之间的转换,及类层次结构中基类和子类之间指针或引用的转换reinterpret_cast<new_type>(expression):是C++里的强制类型转换符,只能用于指针dynamic_cast<new_type>(expression):在运行时检查,用于继承体系中进行安全的向下转换,可用于指针和引用,如果不能转化成功将会返回NULL或抛异常
阅读全文
posted @ 2013-05-11 11:20
Leung文
摘要:1)const修饰普通变量和指针:char* const ptr; //指针本身是常量const char* ptr; //指针所指向的内容是常量2)const修饰函数参数void function(const char* ptr); //参数指针所指内容为常量不可变3)const修饰成员变量class A { const int nValue; //成员常量不能被修改}4)const修饰成员函数class A { void function()const; //常成员函数, 它不改变对象的成员变量. 也不能调用类中任何非const成员函数}5)const修饰类对象/对象指针/对象引用...
阅读全文
posted @ 2013-05-09 20:50
Leung文
摘要:Windows锁:Mutex(互斥对象):内核对象,可以在多个进程中的各个线程间进行同步,一般用于排他的访问资源Event(事件对象):内核对象,可以在多个进程中的各个线程间进行同步,一般用于控制线程的先后顺序Critical Section(临界区):非内核对象,只能用于进程内的各个线程间进行同步,无法设定超时值CRITICAL_SECTION cs;InitializeCriticalSection(&cs);EnterCriticalSection(&cs);LeaveCriticalSection(&cs);DeleteCriticalSection(&
阅读全文
posted @ 2013-05-09 20:46
Leung文
摘要:步骤:1)编写java文件(Test.java)2)生成.h头文件(javah -jni Test)3)用cpp实现这个头文件(Test.cpp)Test.javapublic class Test { public native static String callC(String str); public static void main(String[] args){ System.loadLibrary("JavaCallCpp"); String str = callC("java_string"); System.out.pri...
阅读全文
posted @ 2012-12-06 20:35
Leung文
摘要:链接错误“error while loading shared libraries”的解決方法:1)在/etc/profile中添加export LD_LIBRARY_PATH=lib所在目录,然后执行source /etc/profile 生效一下2)在~/.bash_profile中添加export LD_LIBRARY_PATH=lib所在目录,然后执行source ~/.bash_profile 生效一下3)在/etc/ld.so.conf中加入lib所在的目录,然后执行/sbin/ldconfig –v 生效一下运行错误“symbol lookup error”、“undefined
阅读全文
posted @ 2012-10-30 19:26
Leung文
摘要:VC项目属性→配置属性→C/C++→代码生成→运行时库可以采用的方式有:多线程(/MT)、多线程调试(/MTd)、多线程DLL(/MD)、多线程调试DLL(/MDd)1)其中以小写“d”结尾的选项表示的DEBUG版本的,没有“d”的为RELEASE版本。大型项目中必须要求所有组件和第三方库的运行时库是统一的,否则将会出现LNK2005井喷。2)/MT和/MTd表示采用多线程CRT库的静态lib版本。该选项会在编译时将运行时库以静态lib的形式完全嵌入。该选项生成的可执行文件运行时不需要运行时库dll的参加,会获得轻微的性能提升,但最终生成的二进制代码因链入庞大的运行时库实现而变得非常臃肿。当某
阅读全文
posted @ 2011-03-31 00:11
Leung文
摘要:1)短信中心地址长度:包括‘91’和‘F’(单位:字节)2)短信中心地址类型:国际格式‘91’3)短信中心地址SCA:前面要加‘86’,补‘F’凑成偶数4)信息头字节:发:‘11’正常发送、‘31’需要状态报告、‘51’有报头短信;收:TP-RP TP-UDHI TP-SRR TP-VPF[2] TP-RD TP-MTI[2]5)消息基准值TP-MR:发:‘00’;收:无6)目标号码长度:不包括‘91’和‘F’(单位:位数)7)目标号码格式:国际格式‘91’8)目标号码TPA:前面要加‘86’,补‘F’凑成偶数9)协议标识TP-PID:‘00’10)用户信息编码方式TP-DCS:‘00’7-b
阅读全文
posted @ 2011-03-31 00:02
Leung文
摘要:项目:1)用VS建立新项目时选择空项目,不使用预编译头2)项目按include、src、lib、test、msvc、bin划分主目录,再按模块划分子目录3)主函数格式为:int main(int argc, char* argv[]),其中argv[0]为执行文件路径 头文件:1)所有头文件都应该使用#define防止头文件被多重包含, 命名格式当是: <PROJECT>_<PATH>_<FILE>_H_2)用#include <xx>格式来引用标准库的头文件,用#include "xx"格式来引用非标准库的头文件3)头文件包
阅读全文
posted @ 2011-03-29 23:36
Leung文
摘要:在未安装VS2005的机器上运行VS2005的程序,可能会出现如下错误提示: 1)由于应用程序配置不正确,程序未能启动,重新安装应用程序可能会纠正这个问题(Multi-threaded DLL (/MD)选项下生成的代码会产生这个问题) 2)应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止应用程序。(Multi-threaded Debug (/MTd)选项下生成的代码会产生这个问题)几种可能的解决办法: 1)这两个问题的原因是目标机器上缺少VC8相关的运行库或者版本不匹配,最简单的解决方案就是把VC安装目录下vcredist_x86目录下的vcredist_x86....
阅读全文
posted @ 2011-03-29 23:35
Leung文
摘要:方法1:使用_TEXT()宏定义将字符串常量指定为TCHAR*类型方法2:使用STL中的locale类的静态方法指定全局locale,静态函数locale::global(newloc)可设置newloc为全局locale,并且返回以前的全局locale,可将之保存起来以后恢复,如果使用localeloc=locale::global(locale(""))设置全局locale后没有用locale::global(loc)恢复的话,那么在程序后面的cout语句就不能输出中文了,虽然这时候操作中文文件没有问题,但是这也是很容易让人掉入陷阱的地方,应该值得注意fstream f
阅读全文
posted @ 2011-03-29 23:29
Leung文
摘要:gSOAP是一个开源的项目,用它可以方便的使用c/c++地进行SOAP客户端和服务器端编程,而不必了解xml和SOAP协议的细节wsdl2h.exe: 编译wsdl文件生成c/c++头文件-o 文件名,指定输出头文件-n 名空间前缀 代替默认的ns-c 产生纯C代码,否则是C++代码-s 不要使用STL代码-t 文件名,指定type map文件,默认为typemap.dat-e 禁止为enum成员加上名空间前缀soapcpp2.exe: gSOAP编译器,编译头文件生成服务器和客户端都需要的c/c++文件(默认使用STL,需要stlvector.h)-C 仅生成客户端代码-S 仅生成服务器端代
阅读全文
posted @ 2011-03-27 15:35
Leung文
摘要:Spy++ (SPYXX.EXE) 是一个基于 Win32 的实用工具,它提供系统的进程、线程、窗口和窗口消息的图形视图。使用 Spy++ 可以执行下列操作: 1、显示系统对象(包括进程、线程和窗口)之间关系的图形树。 2、搜索指定的窗口、线程、进程或消息。 3、查看选定的窗口、线程、进程或消息的属性。 4、直接从视图中选择窗口、线程、进程或消息。 5、通过鼠标定位,使用查找程序工具选择窗口。 6、使用复杂的消息日志选择参数设置消息选项。 示例1:利用spy找到窗口类名及标题HWND proc = FindWindow("TForm1","NetSetMan&qu
阅读全文
posted @ 2011-03-27 15:28
Leung文

浙公网安备 33010602011771号