![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
大法师Archmage
这个作者很懒,什么都没留下…
展开
-
shared_ptr:线程安全、循环引用
目录(?)[+] shared_ptr:线程安全、循环引用分类: Linux多线程编程2013-10-23 23:33 288人阅读 评论(0) 收藏 举报shared_ptr线程安全循环引用 shared_ptr用来管理堆对象可以避免delete,但是注意shared_ptr本身是个对象因此其的声明周期、share转载 2017-01-23 20:58:46 · 247 阅读 · 0 评论 -
ida的一些工具下载
https://www.hex-rays.com/products/ida/support/download.shtml原创 2018-04-08 14:48:25 · 1302 阅读 · 0 评论 -
Dll注入:修改PE文件 IAT注入
PE原理就不阐述了, 这个注入是PE感染的一种,通过添加一个新节注入,会改变PE文件的大小,将原有的导入表复制到新节中,并添加自己的导入表描述符,最后将数据目录项中指向的导入表的入口指向新节。步骤:1.添加一个新节;映射PE文件,判断是否可以加一个新节,找到节的尾部,矫正偏移,对齐RVA填充新节PIMAGE_SECTION_HEADER,修改IMAGE_NT_HEADERS,将新节添加到文件尾部 ...转载 2018-04-03 15:42:10 · 1251 阅读 · 0 评论 -
accept函数直接返回-1
WSAGetLastError()返回0x0000271e;TCHAR* buffer = NULL;::FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, wsaerror, 0, (LPTSTR)&buffer, 0, NULL);得到消息为"系统检测到在一个调用中尝试使用指针...原创 2018-04-20 14:02:39 · 8664 阅读 · 0 评论 -
VC执行快捷方式
快捷方式(.lnk)文件可以用ShellExecute()或IShellLink执行。ShellExecuteA(0, "open", "D:\\WProxyUI.exe.lnk", "", "", SW_SHOWNORMAL);原创 2018-04-20 15:13:50 · 829 阅读 · 0 评论 -
MFC添加托盘图标最小化到托盘
1。声明一个NOTIFYICONDATA类,也就是NOTIFYICONDATA m_NotifyIcon;2。声明一个响应函数afx_msg LRESULT OnClickTray(WPARAM wParam,LPARAM IParam);用于响应鼠标操作。3、添加自定义消息:#define WM_NOTIFY_MY WM_USER+0x104、void CDesktopUtilDlg::OnSy...原创 2018-04-20 15:17:12 · 382 阅读 · 0 评论 -
发送消息让窗口最小化或最大化,窗口可以是其它进程的窗口
发送消息让窗口最小化或最大化,窗口可以是其它进程的窗口 HWND hwndWP = NULL; while (hwndWP == NULL) { Sleep(500); hwndWP = ::FindWindowA("#32770", "一个窗口"); } Sleep(1000); ::SendMessage(hwndWP, WM_SYSCOMMAND, SC_MINIMIZE,...原创 2018-04-20 15:30:43 · 6846 阅读 · 0 评论 -
dll中使用MFC对话框
如果自己添加DllMain函数,VS报错 error LNK2005: _DllMain@12 已经在 MSVCRTD.lib(dllmain.obj) 中定义InitInstance即是入口函数When compiling regularDLLs that statically link to MFC, the symbols "_USR DLL" and"_WINDLL" must be de...原创 2018-05-18 16:46:48 · 624 阅读 · 0 评论 -
c++中 endl 和 '\n'的区别
Folks often see output statements like the two below, and then want to know what the difference is:#include int main(){ int i = 99; std::cout std::cout return 0;}In short转载 2018-01-23 09:59:23 · 473 阅读 · 0 评论 -
一段转把整型数字转为char*字符串的代码
const char* convert(char buf[], int value){static char digits[19] ={'9', '8', '7', '6', '5', '4', '3', '2', '1','0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};static const char* zero原创 2017-12-26 15:34:47 · 480 阅读 · 0 评论 -
为VS2008安装STLport
STLport 在vs2005(vc8)下的配置 D:\Program Files\Microsoft Visual Studio 9.0\VC\binvcvars32.batconfigure -c msvc8nmake /fmsvc.maknmake /fmsvc.mak install=========================================转载 2017-01-23 21:31:47 · 323 阅读 · 0 评论 -
VS2013 编译&使用 stlport
1. 下载stlport. 下载地址:http://sourceforge.net/projects/stlport/2. 解压到一个目录下面, 我的是解压到D:\project_kuku\program\library\STLport-5.2.13. 打开vs2013的命令行工具, 在目录:C:\Program Files\Microsoft Visual Studio 12转载 2017-01-23 21:41:59 · 976 阅读 · 0 评论 -
MSVC 版本号对应
MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)MSVC++ 10.0 _MSC_VER == 1600 (Visua转载 2017-01-25 15:58:07 · 5113 阅读 · 0 评论 -
50国内外最优秀的C/C++源代码网站分享
C/C++是最主要的编程语言。这里列出了50名优秀网站和网页清单,这些网站提供c/c++源代码。这份清单提供了源代码的链接以及它们的小说明。我已尽力包括最佳的C/C++源代码的网站。这不是一个完整的清单,您有建议可以联系我,我将欢迎您的建议,以进一步加强这方面的清单。1、http://snippets.dzone.com/tag/c/ --数以千计的有用的C语言源代码片段2、http:转载 2017-01-26 20:33:14 · 1374 阅读 · 0 评论 -
ifstream类使用心得一则
一个朋友向我请教一个程序,相关代码如下: string s; vector vs; ifstream inFile("F://MyReceiveFiles//FillCompo_KP.mod", ios::in); while (getline(inFile, s)) vs.pus转载 2017-01-26 21:11:57 · 1036 阅读 · 0 评论 -
Boost::Thread使用示例
Boost::Thread的实现总体上是比较简单的,前面已经说过,thread只是一个跨平台的线程封装库,其中按照所使用的线程选项的不同,分别决定使用Windows线程API,pThread,或Mac平台的thread实现。以下只讨论Windows,即使用BOOST_HAS_WINTHREAD的情况。Boost::Thread有两个构造函数:一个是thread(),构造一个表示当前执行线程转载 2017-02-02 13:25:44 · 591 阅读 · 0 评论 -
C++面试之GetMemory问题
题目一:[cpp] view plain copyvoid GetMemory( char *p ) { p = (char *) malloc( 100 ); } void Test( void ) { char *str = NULL; GetMemory( str );转载 2017-02-02 13:40:21 · 351 阅读 · 0 评论 -
CPSR_C ,CPSR_cxsf 详解
1: ARM每种工作模式除R0~R15共16个寄存器外,还有第17个寄存器CPSR,叫做 当前程序状态寄存器,CPSR中一些位被用于标识各种状态,一些位被用于标识当前出于什么工作模式。2:这个状态寄存器的32位可以分为四个8位的域 所以,如果CPSR后面加上,c,x,s,f都是容易理解的3:各个位的详细说明转载 2017-07-17 10:42:05 · 338 阅读 · 0 评论 -
一份通用makefile,自动遍历子目录源文件,自动生成依赖
这份makefile可以将当前makefile所在文件夹以及所有子文件夹中的cpp文件打包成静态库/动态库/可执行文件.自动生成所有依赖关系,修改任何文件都可以触发重新编译相应依赖的文件。在Ubuntu 和 OSX 系统测试通过。这份makefile可以将当前makefile所在文件夹以及所有子文件夹中的cpp文件打包成静态库/动态库/可执行文件.自动生成所有依赖关系,修改任何转载 2017-10-24 15:31:07 · 2049 阅读 · 0 评论 -
C语言中的static
静态变量或静态函数只有本文件内的代码才能访问它,它的名字在其它文件中不可见。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 static的第二个作用是默认初始化为0.其实全局变量也具备这一属性,因为全局变量也存储在静态数据区。在静态数据区,内存中所有的字节默认值都是0x00,某些时候这一特点可以减少程序员的工作量。比如初始化一个稀疏矩阵,我们可以原创 2017-10-25 09:44:13 · 244 阅读 · 0 评论 -
虚拟机检测技术攻防
虚拟机检测技术攻防2013年08月27日 14:53:21阅读数:36386前言在当今信息安全领域,特别是恶意软件分析中,经常需要利用到虚拟机技术,以提高病毒分析过程的安全性以及硬件资源的节约性,因此它在恶意软件领域中是应用越来越来广泛。这里我们所谓的虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。通过虚拟机软件(比如VM...转载 2018-05-15 14:26:34 · 15770 阅读 · 3 评论