自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 error C2001: 常量中有换行符

公司要求提交到git服务器上的代码文件必须都是UTF-8编码,但Visual Studio默认新添加文件是"简体中文(GB2312) - 代码页 936",如果文件中没有中文符号和文件,那没有问题,如果存在中文字符,可能导致编译报错。以上是我遇到的问题,及解决方案。备注一下,以免忘记。

2024-01-31 11:07:40 224

转载 Windows进程间通信方式

匿名管道(Anonymous Pipe)是 在父进程和子进程之间,或同一父进程的两个子进程之间传输数据的无名字的单向管道。邮件槽与命名管道相似,不过它传输数据是通过不可靠的数据报(如TCP/IP协议中的UDP包)完成的,一旦网络发生错误则无法保证消息正确地接收,而命名管道传输数据则是建立在可靠连接基础上的。不同于匿名管道的是命名管道可以在不相关的进程之间和不同计算机之间使用,服务器建立命名管道时给它指定一个名字,任何进程都可以通过该名字打开管道的另一端,根据给定的权限和服务器进程通信。

2023-07-15 10:03:15 312

原创 /usr/bin/ld: 找不到 -lstdc++

/usr/bin/ld: 找不到 -lstdc++

2022-12-30 14:58:42 6102 1

原创 ssh免密登录远程主机(linux)

ssh免密登录远程主机(linux)

2022-12-29 19:18:17 197

原创 Unable to negotiate with x.x.x.x port 22: no matching key exchange method found. Their offer: diffie

Unable to negotiate with x.x.x.x port 22: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

2022-11-02 18:46:46 1894

转载 git commit之后,想撤销commit

写完代码后,我们一般这样git add . //添加所有文件git commit -m "本功能全部完成"执行完commit后,想撤回commit,怎么办?这样凉拌:git reset --soft HEAD^这样就成功的撤销了你的commit注意,仅仅是撤回commit操作,您写的代码仍然保留。说一下个人理解:HEAD^的意思是上一个版本,也可以写成HEAD~1如果你进行了2次commit,想都撤回,可以使用HEAD~2至于这几个...

2022-03-12 14:52:17 211

原创 github 大文件管理

执行 git lfs install 开启lfs功能 使用 git lfs track 命令进行大文件追踪 例如git lfs track "*.png" 追踪所有后缀为png的文件 使用 git lfs track 查看现有的文件追踪模式 提交代码需要将gitattributes文件提交至仓库. 它保存了文件的追踪记录 提交后运行git lfs ls-files 可以显示当前跟踪的文件列表 将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示: clone 时 使

2022-03-12 14:14:15 367

原创 VS 代码折叠和展开快捷方式

Ctrl + M + O: 折叠所有方法Ctrl + M + M: 折叠或者展开当前方法Ctrl + M + L: 展开所有方法

2021-08-09 15:01:37 877

原创 c++ 格式化中文字符串

项目中用log4z 输出日志,相比glog而言,log4z 可以格式化ANSI和unicode ,因为log4z 最终还是调用 _snprintf_s:#define LOG_FORMAT(id, level, file, line, logformat, ...) \do{ \ if (zsummer::log4z::ILog4zManager::getPtr()->prePushLog(id,level)) \ {\ zsummer::log4z::LogD

2021-02-03 15:21:00 539

原创 XP下 本地静态对象未初始化问题解决方案

类的成员函数中,构造静态对象,XP下不会初始化 TLS,在编译选项中加上:/Zc:threadSafeInit- (取消线程安全)即可。详情:https://docs.microsoft.com/zh-cn/cpp/build/reference/zc-threadsafeinit-thread-safe-local-static-initialization?viewFallbackFrom=vs-2019&view=msvc-160...

2020-12-08 16:24:17 440

原创 能ping通,但打不开网页解决方案

1、打开cmd窗口,netsh winsock reset。重启电脑即可(我是这种方法解决的)。2、刷新DNS: ipconfig /flushdns,ipconfig /displaydns,ipconfig /renew重请从DHCP服务器获得IP

2020-07-23 14:14:54 29997

原创 文件路径操作

文件路径解析相关的几个API: 1、解析文件路径中各个部分名称: _splitpath_s: #include <stdlib.h> or <wchar.h>errno_t _splitpath_s( const char * path, char * drive, size_t driveNumberOfElements, char * dir, size_t dirNumberOfElements,...

2020-07-14 15:04:04 311

原创 获取cmd输出结果

执行cmd命令,获取输出结果。方式一:void GetConsoleResult(){ FILE* pPipe = _popen("cmd /c tasklist |findstr /i \"KvService.exe\"", "r"); std::string strOut; if (pPipe) { /* Read pipe until end of file, or an error occurs. */ char psB

2020-06-10 15:30:57 3074

原创 windows 应用层编程基础试题

以下两种获取字符串方式,正不正确?//返回char*指针没有问题char *GetString(){ char *p = new char[1024]; ... return p;}//返回局部变量地址,出现意外错误char *GetString(){ char szBuff[] = "hello world"; char *p = ...

2020-04-20 15:26:16 248 1

原创 Lua5.3.5源码编译

首先从lua官网下载源码http://www.lua.org/download.html并解压:VS2017 新建项目->控制台应用将解压出来的src文件夹,拷贝到解决方案目录下建好项目,添加lua源码:Ctrl+A 选择src目录下所有文件,并添加至项目至此准备工作完成,接下来分别编译Lua解释器Lua.exe,Lua编译器Luac.exe,...

2020-03-31 17:38:50 1785

转载 git 提交多个远程仓库

有时候一个项目,希望既提交到oschina又提交到公司内网的gitlab,或者是github什么的。使用git remote -v 查看当前git的远程仓库。添加一个远程仓库git remote add <name> <url-of-remote> ###<name>自己起个名字,默认是oringn,那么添加的第二个我们可以叫oschi...

2019-12-27 17:26:15 214

原创 git 常用命令

查看本地仓库文件,并输出到本地日志文件:git ls-files > 1.txt查看没有添加的文件:git status重写历史git commit --amend#改变最近一次提交git rebase -i HEAD~3#修改最近三次的提交说明,或者其中任意一次git commit --amend#保存好了,这些指示很明确地告诉了你该干什么git rebas...

2019-12-27 17:25:26 88

原创 本地git安装完成之后,从远程git服务器上面下载代码。报错SSL certificate problem:self signed certificate in certificate chain.

解决方案:打开git的控制端黑窗口,输入:git config --global http.sslVerify false点击Entry之后,就会去掉git的ssl验证。然后就可以正常的下载代码。

2019-11-28 13:49:28 266

原创 MFC CFileDialog 文件过滤条件

今天写一个选择文件的对话框,使用CFileDialog: TCHAR *lpFilter = _T("Img Files(*.img) | *.img |All Files(*.*) | *.* ||"); CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, lpFilter, th...

2019-10-24 16:29:33 1137

原创 printf 、cout 输出至控制台阻塞

printf以及cout输出到控制台时,有几率会阻塞进程。切换到控制台敲回车或者 按任意键后信息才会输出到屏幕,代码继续往下执行。有时即使调用了fflush(stdout),也依然会出现阻塞的情况。在程序一开始调用 setvbuf(stdout, NULL, _IONBF, 0);【之前用setbuf(stdout, NULL)】即不设置输出缓冲区,输出信息不存放在缓冲区中,...

2019-08-17 11:46:45 1979 2

原创 MFC 单文档 带参数调试

项目用MFC 单文档开发。今天准备带参数调试,发现在 “命令参数”栏 填1时,程序运行会报错,提示"没有找到E:\xxx\1".原来把参数数据当成了执行模块。这个MessageBox并不是我代码弹出,所以不好判断在哪里报错。这里就想到VS环境中,下API断点。网上查了一下资料,Ctrl+B手动添加断点:{,,USER32.DLL}_MessageBoxW@16分二步,加载符号和...

2018-07-18 17:18:46 481

原创 windows 时间戳

time_t 表示时间戳。timt_t * mktime(tm *p) 将tm类型转换为 时间戳。 tm * gmtime(time_t *p); 将time_t(时间戳)转换为tm类型

2018-05-09 15:14:55 5368

转载 GetWindowRect与GetClientRect 的区别

GetWindowRect  函数功能:该函数返回指定窗口的边框矩形的尺寸。该尺寸以相对于屏幕坐标左上角的屏幕坐标给出。  函数原型:BOOL GetWindowRect(HWND hWnd,LPRECTlpRect);  在Visual Studio 2005中,函数原型为void GetWindowRect(LPRECT lpRect) const;  是属于CWnd类的函数.

2017-09-20 17:05:55 176

原创 Windows创建指定大小

用文件映射可以瞬间创建一个空的大文件。VOID CreateSpecifiedSizeFile(DWORD dwSizeHigh, DWORD dwSizeLow){ HANDLE hFile = CreateFile(_T("1.txt"), GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRI...

2017-09-08 16:03:49 309

转载 如何转义CSV文件中的逗号

CSV全称是:Comma Separated Values 或者 Character Separated Values。尽管第一种说法更常见,但我觉得还是第二种说法更确切一些,因为你可以使用其它字符做分隔符。使用逗号做分隔符的CSV文件有一个好处:你可以直接用Excel打开。如果使用其它分隔符,比如“|”,你必须告诉Excel该文件使用“|”作分隔符,Excel才能把它导入进来。

2017-09-04 11:23:53 1700

原创 IOCP与SO_KEEPALIVE

项目使用IOCP完成端口,要对连入的客户端进行 死连接检测。由于是TCP协议,便想到用SO_KEEPALIVE及SIO_KEEPALIVE_VALS进行检测。简洁方便,把任务交给系统来做更有保障些。于是便写下了如下代码://Set Keeplive 开启保活机制if (SOCKET_ERROR == setsockopt(pClientContext->m_sockClient, SOL_S

2017-08-29 16:53:08 720

转载 C++打开文件夹并选中指定文件

如何用程序打开一个文件,并选中这个文件夹中指定的文件呢?其实这个功能用得很多。1.方法一[cpp] view plain copyShellExecute(      NULL,      _T("open"),      _T("Explorer.exe"),      _T("/select, D:\\a.mp3"),  

2017-08-24 10:56:31 4330

原创 VS2010 调试启动突然变慢解决办法

【问题】win7 x64,i5四核,8G内存,C盘还是SSD的。之前启动Visual Studio 2010,都是很快,比如1,2秒。突然,某天,启动Visual Studio 2010,极其的,非常非常的慢,要好几分钟。【解决过程】1.看到这人也遇到类似问题:Visual Studio 2010, 2012 Very slow and the solution其是说要...

2017-08-24 10:18:52 8567 1

原创 MFC 复制文件夹

VOID MyCopyDir(CString strSource, CString strTarget){    strTarget += _T("\\");    CreateDirectory(strTarget,NULL); //创建目标文件夹       CFileFind finder;      CString strPath;      strPath.For

2017-08-04 17:30:34 863

原创 windows 选择文件夹

如果只想让用户选择文件夹,而不是选择文件,则不能用CFileDialog,用CFolderPickerDialog来实现//选择解压后的文件路径 void CUpdataAppDlg::OnBnClickedExtractsettargetdir(){    try    {        CFolderPickerDialog FoldDlg;       

2017-08-01 15:55:08 351

原创 ShowErrMsg

VOID ShowErrMsgW(){    LPVOID lpMsgBuf = NULL;    FormatMessageW(         FORMAT_MESSAGE_ALLOCATE_BUFFER |         FORMAT_MESSAGE_FROM_SYSTEM |         FORMAT_MESSAGE_IGNORE_INSERTS,

2017-08-01 09:59:29 334

转载 Windows Error 0x00002620 - 0x00002B0F

This is the fourteenth and final node in the project to consolidate all of the Windows Error nodes. You will notice that this node seems to skip a few numbers from time to time. Those are the error 

2017-07-28 08:50:21 1421

原创 关于CString

实在惭愧,用了这么久的CString,一直以为是跟着默认的项目字符集走,今天查资料突然发现,其实是有分开的CStringA和CStringW.  哈哈,以后用起来就方便很多了。点点滴滴的积累,虽然很基础,但也不容大意,还是记下来吧

2017-07-25 09:34:52 245

原创 关于同步对象

临界区 CRITICAL_SECTION,在使用同一对象时,函数间不能有互相调用的情况,否则会进入死琐,导致程序失去响应。

2017-07-24 10:16:29 479

原创 状态栏重影问题

最近用单文档写一个项目,视图分割四部分。在其中一个ListView中添加了状态栏。当拖动滚动条的时候,状态栏会出现重影。解决办法:在响应滚动条消息  ON_WM_HSCROLL()  函数中加上m_StatusBar.Invalidate();

2017-07-11 15:26:44 589

原创 MFC 单文档视图分割

单文档视图分割时,分割的每个视图都要添加CreateView.在MainFrm.h中 定义CSplitterWnd    m_splMainCols;重载OnCreateClient函数//准备创建视图分割BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext){   

2017-05-11 09:50:03 759

转载 Windows Styles

原贴地址:http://zhangshourui2004.blog.163.com/blog/static/86106520078914126397/[WTL] 窗体Style的含义比较有用的设置:(1)WS_POPUP:弹出式窗体,没有标题栏!WS_BORDER:细的黑边框WS_OVERLAPPED:一般的有标题栏的窗体,见多了。WS_CHILD:子窗体,一般用于

2017-05-03 13:28:51 270

原创 PE加载重定位

PE exe文件加载有时候会重定位,主要是因为 FILEHEADER中的一个字段 Characteristics    这个域描述pe文件的一些属性信息,比如是否可执行,是否是一个动态连接库等.具体定义如下:#define IMAGE_FILE_RELOCS_STRIPPED           0x0001  // 重定位信息被移除,文件必须加载先前的基地址#defi

2017-04-07 10:19:27 911

原创 逆向面试题汇总

注入有哪几种方式?        SetwindowsHook以调试方式打开进程,制造异常,在接管异常代理的代码里加入注入代码CreateRemoteThread  和 Loadlibrary                 将要执行的代码写在Dll里CreateRemoteThread 和Writeprocessmemory  写汇编代码        修改PE文件导入表,添

2017-03-03 19:23:51 5583

转载 Windows异常代码查询

00000000 STATUS_SUCCESS00000000 STATUS_WAIT_000000001 STATUS_WAIT_100000002 STATUS_WAIT_200000003 STATUS_WAIT_30000003F STATUS_WAIT_6300000080 STATUS_ABANDONED00000080 STATUS_ABANDONED_W

2016-12-26 12:16:39 856

空空如也

空空如也

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

TA关注的人

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