自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(81)
  • 资源 (4)
  • 收藏
  • 关注

原创 make: *** No rule to make target `all'. Stop.

错误:make all make: *** No rule to make target `all'.  Stop. 解决方式:右键项目-->properties-C/C++ Build-->Builder settings               此时可看到Builder Type是不可选的,               且Makefile gen

2015-03-15 17:40:29 1124

原创 VC编译错误:uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPA

VC编译错误:uafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) 已经在 LIBCMT.lib(new.obj) 中定义  2010-03-30 21:47:54|  分类: 编译错误|举报|字号 订阅1>

2015-03-15 16:54:18 710

转载 VC 的 warning LNK4221 警告

今天编译静态链接库时,VC提示了 LNK4221 警告。虽然没什么影响(起码暂时没遇到),也特别去查了下警告的由来。  该警告的中文提示是: xxx.obj : warning LNK4221: 此对象文件未定义任何之前未定义的公共符号,因此任何耗用此库的链接操作都不会使用此文件。     不得不说这个翻译真是非常的晦涩,令人费解。可能,

2015-03-15 16:05:46 5708

转载 安装DirectX SDK时出现Error Code:s1023 的解决方案

今天安装DXSDK_Jun10时(下载地址:http://download.microsoft.com/download/A/E/7/AE743F1F-632B-4809-87A9-AA1BB3458E31/DXSDK_Jun10.exe),出现下图所示错误Error Code:s1023 错误原因:计算机上有安装过更新版的Microsoft Visual

2015-03-14 23:34:32 610

转载 使用SetUnhandledExceptionFilter让程序优雅的崩溃

虽然是大公司的产品,QQ它还是会在我们的折腾下崩溃的,但是它总是崩溃的很优雅,还要弹出自己的对话框来结束。并且发送报告,去掉了系统默认的发送报告的对话框。所以一拍脑袋,想让自己的程序崩溃的体面一点。自己想了大概的思路,觉得可以用一个进程来监控目标程序。的确也可以拿到了目标程序崩溃的信息,知道它什么时候崩溃的,也可以做额外的操作,但是这样是没办法把默认的发送错误的对话框去掉的。然后又有人

2015-01-27 23:07:14 478

转载 来自 COM 经验的八个教训

发布日期: 5/20/2004 | 更新日期: 5/20/2004Jeff Prosise在日常工作中,我看到过许多由不同开发人员编写的 COM 代码。我为许多富于创造性的使用 COM 的工作方式感到惊讶,有一些使 COM 工作的巧妙代码可能连 Microsoft 都没有想到。同样,看到一些错误一次又一次地重犯,使我免不了心灰意懒。这些错误很多都与线程和安全有关,完全不成比例,而这也正

2015-01-27 00:18:56 591

转载 如何查看项目svn路径

如何查看项目svn路径之前获取项目代码后 又一次由于记住了密码,而有需要checkout其他项目代码,而用户名和密码两个项目又不一样,没办法只能清除缓存什么的了,结果发现自己清除了所有的svn本地数据,包括用户名密码以及项目svn路径.后来有别的同事需要checkout代码,向我要地址,于是我就很成功的不知道那个项目的svn路径了(平时看路径都是直接鼠标右键checkout然后

2014-12-06 11:05:36 9981

转载 svn is already a working copy for a different URL

svn is already a working copy for a different URL  2009-03-18 17:36:54|  分类:Flex开发 |举报|字号 订阅运行更新脚本的时候出现如题的错误,google了一把找到了解决办法。首先说明下原因:出现这种情况大多是由于原有的目录是使用svn更新的,并且指定

2014-09-15 23:30:37 7467

转载 new(std::nothrow) 应用场景

C++ 中 std::nothrow 有什么样的应用场景呢 知乎已经不好玩了,不是你长篇大论就能留… 对于比较健壮的代码来说,nothrow使用的情况比直接new多很多吧。 直接new如果失败要抛出异常的,结果就是为了健壮性代码里到处都是try。 所以一般健壮的分配方式都用new (nothrow) xxx的(当然也有用malloc等的),之后判断NULL就ok 还有在new出现异常,表示内存几经

2014-08-28 12:37:50 1259

转载 CreateProcess的用法

使用编译器vs2008。第一、第二个参数的用法:例子:使用ie打开指定的网页。注意第二个参数是 可执行文件+命令行参数    #include "stdafx.h"      #include        #include              int main(int argc, char* argv[])       {        

2014-06-30 15:23:29 615

转载 慎用USES_CONVERSION

慎用USES_CONVERSIONUSES_CONVERSION是ATL中的一个宏定义。用于编码转换(用的比较多的是CString向LPCWSTR转换)。在ATL下使用要包含头文件#include "atlconv.h"使用USES_CONVERSION一定要小心,它们从堆栈上分配内存,直到调用它的函数返回,该内存不会被释放。如果在一个循环中,这个宏被反复调用几万次,将不可避免的产生sta

2013-10-04 16:43:29 414

转载 WaitForSingleObject()

WaitForSingleObject    用户模式的线程同步机制效率高,如果需要考虑线程同步问题,应该首先考虑用户模式的线程同步方法。但是,用户模式的线程同步有限制,对于多个进程之间的线程同步,用户模式的线程同步方法无能为力。这时,只能考虑使用内核模式。  Windows提供了许多内核对象来实现线程的同步。对于线程同步而言,这些内核对象有两个非常重要的状态:“已通知”状态,“未通知

2013-09-30 11:17:07 855

转载 bit位操作基础篇之位操作全面总结

Title:       位操作基础篇之位操作全面总结Author:     MoreWindowsE-mail:      morewindows@126.comKeyWord:   C/C++ 位操作 位操作技巧 判断奇偶 交换两数 变换符号 求绝对值 位操作压缩空间 筛素数 位操作趣味应用 位操作笔试面试位操作篇共分为基础篇和提高篇,基础篇主要对位操作进行全面总结,帮助大

2013-09-18 16:13:37 8680

转载 PreSubclassWindow详细分析

PreSubclassWindowPreSubclassWindow是一个很好的定制控件的位置。如果我们通过重载CWnd::PreCreateWindow定制控件,而用户在对话框中使用控件。由于对话框中的控件窗口是通过CreateDlgIndirect创建,不经过CWnd::CreateEx函数,PreCreateWindow函数不会被调用。其实,用户要在对话框中使用定制控件,必须用DDX

2013-09-08 18:54:44 775

转载 Visual Assist X 最有用的快捷键

Visual Assist X 最有用的快捷键vax最有用的几个快捷键:1、Alt + G: 在定义与声明之间互跳。2、Alt + O: 在.h与.cpp之间互跳。(O是字母O,不是数字零)3、Alt + Shift + Q:鼠标定位到函数名上,若是在h文件中,按此快捷键会弹出右键菜单,里面有个选项--创建定义;若是在cpp文件中,则按此快捷键会弹出右键菜单,里面有一个选项--创建

2013-08-27 23:32:43 546

转载 linux下c编程中善用backtrace解决大问题

linux下c编程中善用backtrace解决大问题程序在得到一个Segmentation fault这样的错误信息毫无保留地就跳出来了,遇到这样的问题让人很痛苦,查找问题不亚你N多天辛苦劳累编写代码的难度。那么有没有更好的方法可以在产生SIGSEGV信号的时候得到调试可用的信息呢?看看下面的例程吧!/*sigsegv.h*/#ifndef __sigsegv_h__#define

2013-07-31 10:30:15 2343

原创 Linux Call Trace原理分析

Linux Call Trace原理分析  本文介绍了在Linux环境下根据EABI标准进行call trace调试的一般性原理。本文所说的call trace是指程序出问题时能把当前的函数调用栈打印出来。本文只介绍了得到函数调用栈的一般性原理,没有涉及Linux的core dump机制。下面简单介绍powerpc环境中如何实现call trace。内核态call trace

2013-07-30 22:21:48 6222

转载 移位操作符

移位操作符位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。第一运算对象是移位对象,第二个运算对象是所移的二进制位数。位移位运算符的运算对象、运算规则与结果、结合性如表2-16所示。移位时,移出的位数全部丢弃,移出的空位补入的数与左移还是右移花接木有关。如果是左移,则规定补入的数全部是0;如果是右移,还与被移位的数据是

2013-07-17 23:00:12 671

转载 FTP中PORT方式和PASV方式

FTP中PORT方式和PASV方式FTP是File Transfer Protocol(文件传输协议)的缩写,用来在两台计算机之间互相传送文件。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。FTP协议有两种工作方式:PORT方式和PASV方式,中文意思

2013-07-14 11:25:06 2386

转载 dynamic_cast<>用法

/*这是从网上摘下的例子,主要讲述了 dynamic_cast/*作用:将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理,       即会作一定的判断。       对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针;       对引用进行dynamic_cast,

2013-07-11 10:35:58 669

转载 《职工带薪年休假条例》2008年元旦起施行(全文)

《职工带薪年休假条例》2008年元旦起施行(全文)中新网12月16日电 中国国务院12月7日举行的第198次常务会议已经通过 《职工带薪年休假条例》。该条例将从2008年1月1日起施行。以下是中国政府网今天公布的《职工带薪年休假条例》全文。职工带薪年休假条例第一条 为了维护职工休息休假权利,调动职工工作积极性,根据劳动法和公务员法,制定本条例。第二条 机关、团体、企业、事业单位

2013-07-10 15:57:53 962

转载 D_bus进程间通信

DBUS基础知识1.  进程间使用D-Bus通信    D-Bus是一种高级的进程间通信机制,它由freedesktop.org项目提供,使用GPL许可证发行。D-Bus最主要的用途是在Linux桌面环境为进程提供通信,同时能将Linux桌面环境和Linux内核事件作为消息传递到进程。D-Bus的主要概率为总线,注册后的进程可通过总线接收或传递消息,进程也可注册后等待内核事件响应,例如

2013-07-09 17:15:44 980

转载 select()函数分析(linux)

Select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用Select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使用Select就可以完成非阻塞(所谓非阻塞方式

2013-07-08 11:42:39 533

转载 waitpid()

waitpid系统调用在Linux函数库中的原型是:#include  #include pid_t waitpid(pid_t pid,int *status,int options)从本质上讲,系统调用waitpid和wait的作用是完全相同的,但waitpid多出了两个可由用户控制的参数pid和options,从而为我们编程提供了另一种更灵活的方

2013-07-07 18:42:57 559

转载 linux中likely与unlikely

看内核时总遇到if(likely( )){}或是if(unlikely( ))这样的语句,最初不解其意,现在有所了解,所以也想介绍一下。likely() 与 unlikely()是内核(我看的是2.6.22.6版本,2.6的版本应该都有)中定义的两个宏。位于/include/linux/compiler.h中,具体定义如下:#define likely(x) __builtin_exp

2013-07-06 17:09:37 478

转载 优先级反转问题及解决方法

(1)什么是优先级反转简单从字面上来说,就是低优先级的任务先于高优先级的任务执行了,优先级搞反了。那在什么情况下会生这种情况呢?假设三个任务准备执行,A,B,C,优先级依次是A>B>C;首先:C处于运行状态,获得CPU正在执行,同时占有了某种资源;其次:A进入就绪状态,因为优先级比C高,所以获得CPU,A转为运行状态;C进入就绪状态;第三:执行过程中需要使用资源,而这个资源又被

2013-07-05 22:04:25 1529

转载 消息队列操作 (linux)

对消息队列的操作无非有下面三种类型:1、 打开或创建消息队列消息队列的内核持续性要求每个消息队列都在系统范围内对应唯一的键值,所以,要获得一个消息队列的描述字,只需提供该消息队列的键值即可;注:消息队列描述字是由在系统范围内唯一的键值生成的,而键值可以看作对应系统内的一条路经。2、 读写操作消息读写操作非常简单,对开发人员来说,每个消息都类似如下的数据结构:struct m

2013-07-04 19:09:04 658

转载 管道和命名管道(windows)

一、概述  管道(Pipe)实际是用于进程间通信的一段共享内存,创建管道的进程称为管道服务器,连接到一个管道的进程为管道客户机。一个进程在向管道写入数据后,另一进程就可以从管道的另一端将其读取出来。匿名管道(Anonymous Pipes)是在父进程和子进程间单向传输数据的一种没有名字的管道,只能在本地计算机中使用,而不可用于网络间的通信。二、匿名管道  匿名管道由CreatePipe

2013-07-04 19:00:48 920

转载 函数指针数组的定义

函数指针数组的定义方法,有两种:一种是标准的方法;一种是蒙骗法。第一种,标准方法:{分析:函数指针数组是一个其元素是函数指针的数组。那么也就是说,此数据结构是是一个数组,且其元素是一个指向函数入口地址的指针。根据分析:首先说明是一个数组:数组名[]其次,要说明其元素的数据类型指针:*数组名[].再 次,要明确这每一个数组元素是指向函数入口地址的指针:函数返回值类型(*数组名

2013-07-04 18:32:37 490

转载 const的作用

const是C语言的一种关键字,起受保护,防止以外的变动的作用!可以修饰变量,参数,返回值,甚至函数体。const可以提高程序的健壮性,你只管用到你想用的任何地方。(一)const修饰参数。const只能修饰输入参数。   1、如果输入参数是指针型的,用const修饰可以防止指针被意外修改。   2、如果参数采用值传递的方式,无需const,因为函数自动产生临时变量复制该参数。  

2013-07-04 17:45:28 481

原创 static在C中作用

(1)隐藏。对于函数来讲,static的作用仅限于隐藏;而对于变量,static还有下面两个作用。(2)static的第二个作用是保持变量内容的持久。(3)static的第三个作用是默认初始化为0。

2013-07-04 17:37:24 510

原创 IPC

IPC(Inter-Process Communication)进程间通信,提供了各种进程间通信的方法。在Linux C编程中有几种方法(1) 半双工Unix管道(2) FIFOs(命名管道)(3) 消息队列(4) 信号量(5) 共享内存(6) 网络Socket

2013-07-04 17:23:22 1033

原创 指针与数组

指针数组int *p[3];int a[3][4];for(i=0;i这里int *p[3] 表示一个一维数组内存放着三个指针变量,分别是p[0]、p[1]、p[2]。数组指针:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a;        //将该二维数组的首地址赋给p,也就是a[0]或&a[

2013-07-04 17:12:28 540

转载 GPS测试程序举例

#include #include #include #include #include #include #include int fd;typedef struct GPSINFO{    char    utc_time[64];    char    status;    float    latitude_value;    char

2013-06-29 18:00:53 971

原创 类对象占用空间计算

#include "stdafx.h"class A {    int Fun();//一般函数不占对象空间    virtual int Fun2(){printf("class A\n");return 0;}//虚函数占用对象一个指针空间    int c;    static int a;//静态成员变量属于类,不占用对象空间。    int b;};str

2013-06-26 16:02:44 704

转载 CString实现原理

MFC中CString类的实现在strcore.cpp中,Cstring封装了一个用来存放字符串的缓冲区和对施加于这个字符串的操作。也就是说 ,CString里需要有一个用来存放字符串的缓冲区,并且有一个指针指向该缓冲区,该指针就是LPTSTR m_pchData。但是有些字符串操作会增建或减少字符串的长度,因此为了减少频繁的申请内存或者释放内存,Cstring会先申请一个大的内存块用来存放字符串

2013-06-22 16:53:29 476

原创 36进制数与10进制数互转

10进制整数转化成36进制字符串:#include "stdafx.h"#includeint main(){    int num, base, i;    int a[32];    scanf("%d %d", &num, &base);    if(num == 0){printf("0\n"); return 0;}    for(i = 0; n

2013-06-21 21:23:16 1062

转载 虚指针

C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。关于虚函数的使用方法,我在这里不做过多的

2013-06-19 22:21:38 642

转载 using namespace std 说明

对于一个存在着标准输入输出的C++控制台程序,一般会在#include 的下一行发现一句话,using namespace std。这句话其实就表示了所有的标准库函数都在标准命名空间std中进行了定义。其作用就在于避免发生重命名的问题。  1. 关于namespace  C++引入了命名空间namespace主要解决了多个程序员在编写同一个项目中可能出现的函数等重名的现象。解决方法就是加上

2013-06-18 21:50:09 597

转载 (转)链表反向链表的相关操作

假设链表节点的数据结构为:struct node{    int data;    struct node* next;};创建单链表的程序为:struct node* create(unsigned int n){    //创建长度为n的单链表    assert(n > 0);    node* head;    head = new no

2013-06-18 21:36:16 672

VA_X_Setup2375_0

VC开发助手,非常方便。支持VS2019. 具体看说明。 信息: License: trial VA_X.dll file version 10.9.2380.0 built 2020.06.16 DevEnv.exe version 16.6.30204.135 Enterprise msenv.dll version 16.0.30204.135 Comctl32.dll version 6.10.19041.1 Windows 10 10.0 2004 Build 19041.329 8 processors (x86-64, WOW64)

2020-06-23

WinStun nat类型检测

1. 安装后,在stun server框里面填入 stun.iptel.org,然后点run test 2. 测试的时候,大家把防火墙,杀毒之类的东西都关掉收完的同学安装一下,测试

2016-05-31

Visual.Assist.X.V10.9.2302.0原版安装文件以及破解补丁Patch

替换式补丁,非PYG,针对2018.12.13发布的Visual Assist 2302.0版本,压缩包内提供了原版的安装文件和破解补丁,虽然破解后显示还是trial,但是已经没有使用限制了,本人在VC6/VC2010/VC2017 中亲测可用,具体更新列表以及补丁的使用方法参见我的博客 https://blog.csdn.net/PiggyXP

2019-01-26

libcrypto.a

依赖openssl库的下载看下

2016-06-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除