![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
缘之一念
这个作者很懒,什么都没留下…
展开
-
windows平台使用boost:locale库转码详细编码名路径备忘
boost\libs\locale\src\encoding\wconv_codepage.ipp文件原创 2020-11-17 11:51:35 · 274 阅读 · 0 评论 -
MSVC屏蔽外部包含库告警选项
/external:I <path> - 外部标头的位置/external:env:<var> - 外部标头位置的环境变量/external:anglebrackets - 将所有通过 <> 包含的标头视为外部/external:W<n> - 外部标头的警告等级/external:templates[-] - 跨模板实例化链评估警告级别...原创 2020-10-27 09:45:33 · 157 阅读 · 0 评论 -
CMake解决静态库循环链接问题指令备忘
set_target_properties(${TGT}PROPERTIESLINK_INTERFACE_MULTIPLICITY3)get_property(LIM_COUNTTARGET${TGT}PROPERTY"LINK_INTERFACE_MULTIPLICITY")message("LINK_INTERFACE_MULTIPLICITY:${LIM_COUNT}")原创 2020-07-16 11:47:36 · 692 阅读 · 0 评论 -
查询lib库.a文件函数定义指令备忘
nm -g --defined-only libxxx.a原创 2020-07-16 10:32:02 · 405 阅读 · 0 评论 -
cmake安装打包空目录指令备忘
install(CODE "file(INSTALL DESTINATION \"\${CMAKE_INSTALL_PREFIX}/dat\" TYPE DIRECTORY FILES \"\")")生成配置后可以查询cmake_install.cmake文件确认指令是否正确原创 2020-06-28 17:40:00 · 431 阅读 · 0 评论 -
CMake使用vcpkg导出静态库备忘
在project命令前设置:set(VCPKG_TARGET_TRIPLET "x86-windows-static" CACHE STRING "" FORCE)set(CMAKE_TOOLCHAIN_FILE "vcpkg\\scripts\\buildsystems\\vcpkg.cmake")原创 2020-06-28 09:38:00 · 799 阅读 · 0 评论 -
cmake查找libusb库windows平台写法备忘
message(STATUS"LIBUSB_ROOT:$ENV{LIBUSB_ROOT}")FIND_PATH(LIBUSB_INCLUDE_DIRNAMESlibusb.hHINTS$ENV{LIBUSB_ROOT}PATHS${PC_LIBUSB_INCLUDEDIR}${PC_LIBUSB_INCLUDE_DIRS}PATH_SUFFIXES"include""libusb""libusb-1.0")message(STATUS"LIB...原创 2020-05-09 15:31:45 · 732 阅读 · 0 评论 -
LINUX手动生成指定大小文本文件命令备忘
yes hello world! | head -c 5M > 5M.log原创 2020-04-26 20:48:18 · 248 阅读 · 0 评论 -
cmake编译Release版本生成指令备忘
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_VERBOSE_MAKEFILE=ON ..原创 2020-04-18 19:21:27 · 577 阅读 · 0 评论 -
cmake目标属性COMPILE_DEFINITIONS正确用法备忘
set(TGTmcuGENLOT)add_library(${TGT}SHARED"vlt_mcu_main.cpp""linux_os.cpp")set_target_properties(${TGT}PROPERTIESNO_SONAMETRUESKIP_BUILD_RPATHTRUECOMPILE_DEFINITIONS"SYS_...原创 2020-04-17 20:23:03 · 2250 阅读 · 0 评论 -
cmake解决动态库soname,rpath以及符号冲突解决方案备忘
set_target_properties(${TGT}PROPERTIESNO_SONAMETRUESKIP_BUILD_RPATHTRUELINK_OPTIONS"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/vlt_mcu_main.map")原创 2020-04-15 22:17:25 · 1659 阅读 · 0 评论 -
面试题-单链表原地逆向
题目描述: 编写一个函数,实现对一个无头结点的单链表进行逆向。输入为单链表的第一个结点指针,要求返回逆向后的单链表第一个结点的指针。struct NODE{/*单链表数据结构*/ int data; struct NODE* next;};NODE* reverse(NODE* first){ NODE* p(NULL);/*记录逆序过程中已经逆序的最原创 2010-01-12 14:40:00 · 1762 阅读 · 0 评论 -
ATL实现一个组件多个dual接口,multidisp
最近想自己写个按键精灵的插件,于是接触到这个问题: 怎么在一个组件里实现两个自动化接口。主要针对的ATL,MFC貌似没这个问题,具体MFC是怎么实现的自己没有深究。按键精灵的插件会在一个组件里实现两个dispinterface,具体请看oleview工具截图:刚开始对这个问题不理解,以为不是问题,自己用ATL尝试了几次,才发现不是那么回事,于是google之。原创 2014-11-29 03:42:10 · 2690 阅读 · 0 评论 -
visual studio C++ 手工管理头文件包含路径的方法
这里以VS2010为例,说明如何通过自定义项目属性来手工管理VC++目录。第一步:打开一个VC++工程。第二步: 选择视图菜单下的属性管理器。第三步:右键点击我们的工程,选择“添加新项目属性表”。第四步:输入自己想好的名字,注意目录不要修改,建议放到自己的工程目录下,这个是默认的。第五步:点击添加,回到我们的工程目录,应该能找到bt.props这原创 2014-12-01 14:03:02 · 14193 阅读 · 1 评论 -
boost info_parse_read.hpp isspace BUG修正
// ----------------------------------------------------------------------------// Copyright (C) 2002-2006 Marcin Kalicinski//// Distributed under the Boost Software License, Version 1.0. // (See a原创 2015-01-31 01:28:46 · 835 阅读 · 0 评论 -
解决MFC控件闪烁问题的小模板
#pragma oncetemplate struct XFlickerFree : public T{ DECLARE_MESSAGE_MAP() afx_msg BOOL OnEraseBkgnd(CDC* pDC) { return FALSE; } afx_msg void OnPaint() {原创 2015-07-15 08:37:44 · 896 阅读 · 0 评论 -
std::string跨平台格式化函数实现代码
#include <cstdio>#include <cstdarg>#include <string>#include <vector>size_t std_sprintf(std::string& str, const char* fmt, ...){ va_list args0, args1; va_star...原创 2018-05-04 15:57:25 · 930 阅读 · 0 评论 -
C++11阻塞关键字队列实现
#pragma once#include <mutex>#include <condition_variable>#include <deque>#include <map>#include <algorithm>#include <memory>#include <boost/thread/tss.hp...原创 2018-06-03 21:48:39 · 982 阅读 · 0 评论 -
C++11有序锁实现
#include <mutex>#include <condition_variable>struct closed_exception{};class ordered_lock{public: explicit ordered_lock(bool openornot) : m_cur_order(0) , m_max_or...原创 2018-06-01 14:12:58 · 485 阅读 · 0 评论 -
C++11信号量实现
#pragma once#include <mutex>#include <condition_variable>#include <algorithm>class semaphore{public: struct closed_exception {};public: explicit semaphore(size_t cnt = 0) ...原创 2018-06-01 23:16:03 · 1427 阅读 · 0 评论 -
http://uos-embedded.googlecode.com/svn/trunk/sources/runtime/memset-fast.c
/*FUNCTION >---set an area of memoryINDEX memsetANSI_SYNOPSIS #include void *memset(const void *, int , size_t );TRAD_SYNOPSIS #include void *memset(, , ) void *; int ; size_t ;DES转载 2013-11-13 20:24:48 · 658 阅读 · 0 评论 -
http://freej.dyne.org/codedoc/fastmemcpy_8cpp_source.html
00001 /*00002 (c) Copyright 2000-2002 convergence integrated media GmbH.00003 (c) Copyright 2002 convergence GmbH.00004 00005 All rights reserved.00006 00007 Written by Den转载 2013-11-12 23:10:33 · 1475 阅读 · 0 评论 -
删除文件到回收站
void DeleteToRec(CString& strFileName){ //strFileName必须是绝对路径,相对路径会出错 wchar_t buff[1024]; ZeroMemory(buff, sizeof(buff)); _tcscpy_s(buff, strFileName); buff[strFileName.GetLength() + 1] = 0原创 2010-05-30 23:29:00 · 574 阅读 · 0 评论 -
指定根目录打开windows目录浏览对话框
//获取指定目录的ITEMIDLISTBOOL getPathIDL(HWND hWnd, LPWSTR strPath, LPITEMIDLIST& pIDL){ LPSHELLFOLDER pDesktopFolder; HRESULT hr; if (SUCCEEDED(SHGetDesktopFolder(&pDesktopFolder))) { __try原创 2010-05-30 23:26:00 · 1052 阅读 · 0 评论 -
自动设置ComboxBox控件或ListBox控件 水平滚动条
// The pointer to my combo box.extern CComboBox* pmyComboBox;// Find the longest string in the combo box.CString str;CSize sz;int dx = 0;TEXTMETRIC tm;CDC* pDC = pm转载 2010-05-30 23:23:00 · 1465 阅读 · 0 评论 -
如何检测vc的内存泄漏(Visual Leak Detector)
http://blog.sina.com.cn/s/blog_5e8fdc200100cyjq.html如何检测vc的内存泄漏(Visual Leak Detector)--亲测(2009-04-10 12:44:31)Visual Leak Detector是一款用于VisualC++的免费的内存泄露检测工具。可以在转载 2010-04-07 22:56:00 · 762 阅读 · 0 评论 -
VS2005 XP风格控件
#if defined _M_IX86#pragma comment(linker,"/manifestdependency:/"type=win32 name=Microsoft.Windows.Common-Controls version=6.0.0.0 processorArchitecture=x86 publicKeyToken=6595b64144ccf1df原创 2010-03-25 11:46:00 · 921 阅读 · 0 评论 -
面试题--计算给定日期和时间的下一秒
题目描述: 编写一个函数,输入日期和时间,输出该日期和时间的下一秒。例如输入2004年12月31日23时59分59秒,输出为2005年1月1日0时0分0秒。 应该是考察日期时间的基本知识以及C/C++的结构化编程。 下面是一段测试代码: inline bool isLeap(int year){/*判断是否是闰年*/ if(year<0){原创 2010-01-12 13:57:00 · 2709 阅读 · 0 评论 -
memmove可重叠
void* __cdecl mmemmove(void* dst,const void* src,size_t size){ assert(NULL != dst && NULL != src); char* memTo=(char*)dst; const char* memFrom=(const char*)src; if(memTo != memFrom) { i原创 2010-01-05 16:41:00 · 603 阅读 · 0 评论 -
微软strlen函数实现
string equ [esp + 4] mov ecx,string test ecx,3 je short main_loopstr_misaligned: mov al,byte ptr [ecx]转载 2010-01-05 15:29:00 · 1172 阅读 · 0 评论 -
Source Insight 宏 【删除行尾空白】 【删除多余的空白行】
使用Source Insight 开发的代码,在合入CC或者SVN的时候,最好使用该宏清理一下多余的空白,这样可以避免使用BC比较时没用的次要差异。原创 2010-08-08 06:41:00 · 5812 阅读 · 1 评论 -
数据库连接字符串
<br />http://www.connectionstrings.com/原创 2011-03-10 15:08:00 · 446 阅读 · 0 评论 -
http://freej.dyne.org/codedoc/fastmemcpy_8h_source.html
00001 /*00002 (c) Copyright 2000-2002 convergence integrated media GmbH.00003 (c) Copyright 2002 convergence GmbH.00004 00005 All rights reserved.00006 00007 Written转载 2013-11-12 23:12:33 · 1009 阅读 · 0 评论 -
LINUX SCREEN窗口中文乱码问题
http://blog.solrex.org/articles/linux-screen-chinese-encodings.html环境:Linux Dist: CentOS 4.3,locale: en_US.UTF-8, .vimrc: set fencs=gbk目标:终端使用 less/more/grep 等命令正确显示 GBK 编码文件内容,vim 正确显示 GBK转载 2013-11-24 00:26:47 · 6612 阅读 · 3 评论 -
Linux安装C++ MAN手册
http://www.linuxidc.com/Linux/2010-06/26749.htmGNU GCC 提供了一份关于 MAN 格式的 C++ 标准库的文档,可以在其镜像点ftp://gcc.gnu.org/pub/gcc/libstdc++/doxygen/找一个最新日期的下载。展开包之后将 man/man3 中的所有文件拷贝到系统上已经存在的一个 man/ma转载 2013-11-01 22:14:25 · 2012 阅读 · 0 评论 -
boost 编译 32 bit & 64 bit
原文地址: http://blog.sina.com.cn/s/blog_4b055d6b01016nlp.html编译32位:1.修改 bootstrap.sh指定如下参数TOOLSET="g++"PREFIX=/home/koower/boost_1_49LIBDIR=/home/koower/boost_1_49/lib2.执行 ./bootstrap.s转载 2013-10-11 20:35:53 · 1443 阅读 · 0 评论 -
A*寻路初探 GameDev.net
原文地址:http://blog.vckbase.com/panic/archive/2005/03/20/3778.htmlA*寻路初探 GameDev.net作者: Patrick Lester译者:Panic 2005年3月18日译者序:很久以前就知道了A*算法,但是从未认真读过相关的文章,也没有看过代码,只是脑子里有个模糊的概念。这次决定从头开始,研转载 2012-11-26 22:45:44 · 578 阅读 · 0 评论 -
在Mingw+Msys环境下安装man工具和手册的方法
最近因为重做系统,原来的VS开发环境不能用了,而我又不想去下载上G的VS安装包,所以选择了Code:blocks+Mingw+Msys作为学习用的环境,平时写写简单的测试程序.不过Mingw自带的msys里面没有man手册,一旦遇到不熟悉的API就麻烦了,没有MSDN还真是不习惯,于是上网找寻给msys安装man工具的方法.阅读了不少网上找到的方法,感觉不大对口,大部分是介绍如何安原创 2012-02-11 17:26:03 · 5288 阅读 · 0 评论 -
Mingw+Code::Blocks 学习C++0x 笔记(一)
最近网上热传C++0x新标准,作为一个标准的C++fans,一个靠C++混饭吃的我,怎能不好好学习下新标准。于是乎,我开始找寻支持新标准的编译器。首选的当然是微软的VC2010,可惜一看到它的体积,我退缩了,这就是使用古董电脑的悲哀。。庆幸的的是很快我就找到了替代的编译器原创 2011-10-10 11:39:21 · 1126 阅读 · 0 评论 -
slickedit-猪哥的blog地址-猪哥的盒子地址
<br />猪哥的blog地址<br /> <br />http://blog.163.com/zhaojie_ding/<br /> <br /> <br />猪哥的盒子地址<br /> <br />http://www.boxcn.net/megatops<br /> <br /> <br />写到博文里方便查询!原创 2011-02-22 16:39:00 · 3555 阅读 · 0 评论