
MFC/C/C++
文章平均质量分 62
UnkownState
专注软件开发,系统架构,软件服务。
展开
-
tensorflow GPU windows下编译
1.首先配置环境cuda,cudnn开发运行环境,参考https://blog.youkuaiyun.com/m0_37605642/article/details/988547532.参考我的前一篇配置CPU版本编译环境。https://blog.youkuaiyun.com/andrew57/article/details/1033964263.如果已经生成CPU版本,可以bazel clean一下。然后执行...原创 2019-12-05 13:55:23 · 510 阅读 · 0 评论 -
tensorflow windows版编译
环境:win10 x64python3.6tensorflow r1.14bazel 0.25.0vs2015msys2 x64脱离环境谈都是耍流氓,何况在相同环境都可能出各种问题。以下步骤使用bazel编译1.根据官网安装以上软件软件。2.下载tensorflow r1.14。3.进入tensorflow代码目录,执行python configure....原创 2019-12-04 23:51:03 · 832 阅读 · 0 评论 -
FFmpeg在Android上的移植优化步骤
从事多媒体软件开发的人几乎没有不知道FFmpeg的,很多视频播放器都是基于FFmpeg开发的。如今最火的智能手机操作系统Android上的很多第三方视频播放器也是基于FFmpeg实现全格式支持。由于Android通常跑在ARM处理器上,而且Android使用了自己的libc库(即bionic),因此要在Android上编译和使用FFmpeg需要做一些移植工作,好在FFmpeg本身用C写成,很好地支转载 2015-03-02 17:03:42 · 19181 阅读 · 0 评论 -
DirectX错误号及其原因
/* dxerr.c - DirectX 8 & 9 Error Functions Written by Filip Navara This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warr转载 2015-07-03 10:48:22 · 8284 阅读 · 0 评论 -
记MFC自绘ListBox闪烁处理
自绘CListBox时避免闪烁的方法。先列出网上搜来的一段例子双缓冲绘制代码: CRect rc; GetWindowRect(&rc); CDC CMDC; CMDC.CreateCompatibleDC(NULL); CBitmap bmp; bmp.CreateCom原创 2016-05-26 23:03:30 · 2722 阅读 · 1 评论 -
windows下xml的读写
由于是老的项目,最近搞了下xml的读写,早起的项目开发人员直接拼接字符串读写,显得笨拙难于维护。分别对比了下tinyxml, rapidxml, pugixml,他们的主要区别有以下几点:1.rapidxml号称最好的xml解析库,但是对Unicode支持不是很好,比如我们最近在中文系统下写入韩文,搞的很头疼,估计是他写入文件没有做编码,UE打开后是乱码,tinyxml相对来说支持还好,但也需原创 2016-03-09 18:29:35 · 1759 阅读 · 0 评论 -
写android jni时注意的问题
1.回调java层函数时,注意参数类型,比如jlong如果传入的不是jlo原创 2014-05-18 20:46:28 · 578 阅读 · 0 评论 -
VS2010下QT的简单使用
近日无事,突然想试试QT在VS2010下怎么使用,以前觉得QT的库太大,所以就没有考虑。先安装好QT的库,再安装VS2010下使用的插件,这个安装有先后顺序。安装完成后打开VS2010可以看到菜单栏多了一个QT的菜单,在options->qt versions中设置好qmake的路径,否则创建QT工程会失败。创建一个简单的QT Application工程,直接NEXT。完成后在soluti原创 2015-11-17 15:36:57 · 2106 阅读 · 0 评论 -
值得推荐的C/C++框架和库
文章地址:http://www.cppblog.com/merlinfang/archive/2014/12/26/209311.aspx原创 2015-10-13 15:16:14 · 1034 阅读 · 0 评论 -
P2P Libjingle介绍
地址:http://www.cppblog.com/peakflys/category/20361.html原创 2015-07-17 10:18:08 · 944 阅读 · 0 评论 -
C/C++ 开源 JSON 程序库性能及标准符合程度评测
地址:http://www.oschina.net/news/61942/cpp-json-compare?p=3#comments原创 2015-07-27 11:34:48 · 963 阅读 · 0 评论 -
修改MFC OCX IID
以下描述仅限于已经有一份OCX代码,但是想通过修改名称做成另一套OCX,这其中最关键的是修改IID,因为这是COM组件在系统中识别的唯一标志。1.项目名称.cpp文件修改_tlid, CLSID_SafeItem。_tlid对应要修改idl文件中的 [uuid(xxxx)]此处guid字符串,同时修改coclass XXX和CLSID_SafeItem相同。这些事OCX的身份标原创 2015-02-06 15:41:18 · 1554 阅读 · 0 评论 -
怎么挂起线程最安全
在使用多线程时,一般做完事后销毁线程,当然为了避免频繁的申请,释放资源往往希望把线程留下,有的人喜欢做一个标志,是否在运行还是暂停,然后sleep,这样太长不好控制,太短回反复context switch,很影响性能。如果使用suspendthread是有一定风险的(具体可以看msdn及网上很多这方面的资料)。有些文件会提到使用event object,确实event是最容易控制也比较安全的一原创 2013-06-08 11:29:38 · 796 阅读 · 0 评论 -
零字节WSASend,WSARecv
原文地址以下是Windows平台下两个函数的声明:int WSASend(__in SOCKET s,__in LPWSABUF lpBuffers,__in DWORD d转载 2013-06-24 13:48:36 · 1223 阅读 · 0 评论 -
Protocol Buffers使用注意事项
Protocol Buffers做为广泛使用的一个序列化开源库,提供了很多语言下的支持,本文就谈谈MSVC c++使用pb遇到的问题,当然这些问题因为每个人的使用模式不同,可能都不一样,本文也不讨论怎么写proto及编译。我们使用pb做序列化可以把pb生成静态库或者动态库(libprotobuf.dll),然后使用protoc将message生成相应的cc文件,这些cc文件结构都类似,基本不需...原创 2019-09-02 15:36:16 · 1211 阅读 · 1 评论 -
怎么使用命令行制作一个dll
1.安装开发工具,比如visual studio或者mingw等等。下面以visual studio编译器cl作为讲解。2.导出dll中的函数基本使用两种方式,可以使用关键字__declspec(dllexport),例如:__declspec(dllexport) int sum(int a, int b),这样就会导出一个sum函数。还可以写一个def文件,格式如下:LIBR...原创 2018-11-19 18:15:52 · 1317 阅读 · 0 评论 -
判断IPV4有效性
最近有份代码需要判断字符串模式IP V4的有效性,使用了inet_addr发现不能全部判断,于是在网上查了下,有很多这样的例子,各有优点,但找到的都多少有些问题。其中有分代码清晰覆盖面相对很全。下面的代码是我在这份代码的基础上做了些修改,后面会给出地址。简单测试没有什么问题,如有问题请各位留言指正。bool isValidIPv4(const char *pszIPAddr){ if (!ps...原创 2018-02-08 00:05:44 · 638 阅读 · 0 评论 -
do{...}while(0)的意义和用法
linux内核和其他一些开源的代码中,经常会遇到这样的代码:do{ ...}while(0)这样的代码一看就不是一个循环,do..while表面上在这里一点意义都没有,那么为什么要这么用呢?实际上,do{...}while(0)的作用远大于美化你的代码。查了些资料,总结起来这样写主要有以下几点好处:1、辅助定义复杂的宏,避免引用的时候出错:举例来说,转载 2017-03-08 10:52:32 · 290 阅读 · 0 评论 -
记PE文件中读写资源
我们发现有的可执行文件有DLL依赖但是没有看到DLL文件,就一个可执行文件。有的支持多种语言但是没有看到资源dll,这个时候你使用exescope或者pe explorer打开看下资源发现和一般的可执行文件的资源结构有很大的差异,其实这些可执行文件里面都包含有执行所需要的各种资源。以为为简单分析,详细win32 api使用请查看msdn。我们一般从可执行文件(本文件或者其他文件)读取资源需要做原创 2016-06-28 10:26:17 · 1150 阅读 · 0 评论 -
C#网络通信
======================================C#网络通信====================================== 一:服务器端程序 ( ======10.17=====) 1.建立服务器端socket 1)使用Socket类 : 建立服务器Socket对象:转载 2007-11-02 08:33:00 · 2279 阅读 · 1 评论 -
WINDOWS下进程间的通讯方式
本文转自:http://blog.youkuaiyun.com/babilife 作者:babilife 在Windows下各个任务是以不同的进程来完成的,当一个进程启动后,操作系统为其分配了4GB的私有地址空间,由于位于同一个进程中的线程共享同一个地址空间,所以线程间的通信很简单转载 2011-10-09 10:47:00 · 702 阅读 · 0 评论 -
Windows IME (一)
Input Method EditorAn input method editor (IME) is a program that allows computer users to enter complex characters and symbols, such as Japanese Kanji characters, by using a standard keyboard.转载 2012-08-29 14:44:58 · 4294 阅读 · 0 评论 -
阻塞型SOCKET与非阻塞型SOCKET
在windows平台下socket有阻塞型和非阻塞型的区分。阻塞型socket的一个特点就是在某些socket api上调用时会阻塞,知道操作完成。比如send, recv,在这样的socket上比较容易开发,但阻塞导致的调用线程挂起也是很浪费时间的,效率不高。可以通过ioctlsocket将阻塞型socket设置为非阻塞型。如果在阻塞型socket上使用了wsaasyncselect,wsa原创 2012-10-12 10:22:20 · 940 阅读 · 0 评论 -
windows messagebox样式
转自Message_Box 类型MB_ABORTRETRYIGNORE 消息框包含三个普通按钮:中止,重试,并忽略。MB_OK 消息框包含一个普通按钮:就绪。MB_OKCANCEL 消息框包含两个普通按钮:确定 " 和 " 取消。MB_RETRYCANCEL 消息框包含两个普通按钮:重试 " 和 " 取消。转载 2013-04-14 00:08:33 · 2032 阅读 · 0 评论 -
gcc/g++编译
原文地址转载 2014-11-14 10:18:41 · 505 阅读 · 0 评论 -
Linux 的多线程编程的高效开发经验
原文地址转载 2014-09-25 15:36:56 · 583 阅读 · 0 评论 -
VS下调试JNI配置
1.先要配置JAVA_HOME,classpath这一类的,搞java的re原创 2014-05-15 15:37:05 · 2229 阅读 · 0 评论 -
VS2010中各种文件的说明
原文地址SDF文件和ipch文件夹: visual studio 2010 中新建一个项目会同时建立一个ipch目录与sdf文件,即使你删掉它,再次打开工程时还是会重新建立。动辄30、50M的容量让我们心里很不爽。其实这是2010的一个新功能,与智能提示,错误提示,代码恢复、团队本地仓库等等息息相关的东西。如果大家觉得很不爽可以关掉它。Tools —— Options转载 2013-07-31 13:13:34 · 714 阅读 · 0 评论 -
VS2010禁止生成sdf文件
Tools->Options->c/c++ ->Advanced-->Fallback Location 设置Always use fallback location, Do not warn if fallback location used 为true,删除sdf文件后就不会再生成了,但是会生成在系统的临时目录中。原创 2013-07-31 13:25:04 · 1634 阅读 · 0 评论 -
.h和.cpp文件的区别
原文地址关于头文件和源文件的分别首先,我们可以将所有东西都放在一个.cpp文件内.然后编译器就将这个.cpp编译成.obj,obj是什么东西?就是编译单元了.一个程序,可以由一个编译单元组成,也可以有多个编译单元组成. 如果你不想让你的源代码变得很难阅读的话,就请使用多个编译单元吧.(一个函数不能放到两个编译单元里面,但两个以上就转载 2013-07-09 23:44:30 · 560 阅读 · 0 评论 -
C++中extern “C”含义深层探索
原文地址1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对转载 2013-07-09 23:43:07 · 483 阅读 · 0 评论 -
service启动的进程无法获取进程创建的mutex
当一个进程被某个service启动后,他的启动用户为system,如果这个进程是希望单实例运行的,判断如下hMutex = CreateMutex(NULL, FALSE, "Name");if( GetLastError == ERROR_ALREADY_EXISTS){ 已经存在运行实例}如果启动这个进程的是普通用户,比如administrator,那原创 2013-04-23 16:47:02 · 925 阅读 · 0 评论 -
VC中无LIB时的DLL隐式链接,制作与VC++相符合的LIB函数符号输入库
请大家注意!这种方法只能应用于输出为C格式的__stdcall调用方式!1. 使用VC++的工具DUMPBIN将DLL中的导出函数表导出到一定义(.DEF)文件 EXAMPLE: DUMPBIN VideoDeCoder.dll /EXPROTS /OUT:VideoDeCoder.def 2. 将导出的.DEF文件整理为一符合.DEF个数的函数导出文件 EXAMPL转载 2012-10-16 16:18:25 · 660 阅读 · 0 评论 -
Windows IME(二)
Composition StringThe composition string is the current text in the composition window. This is the text that the IME converts to final characters. Each composition string consists of one or more转载 2012-08-29 14:47:41 · 2701 阅读 · 0 评论 -
用c语言动态操作sqilite3数据库v2.0
本文转自:http://blog.youkuaiyun.com/sunsea1026 作者:sunsea1026 /* 项目名称:用c语言动态操作sqilite3数据库 * * 项目成员:张双喜 * * 编译环境:gcc * * 项目功能: *转载 2011-09-23 09:30:01 · 690 阅读 · 0 评论 -
用c语言动态操作sqlite3数据库v1.0
本文转自:http://blog.youkuaiyun.com/sunsea1026 作者:sunsea1026 /* 项目名称:用c语言动态操作sqilite3数据库 * * 项目成员:张双喜 * * 编译环境:gcc * * 项目功能: *转载 2011-09-23 09:29:15 · 822 阅读 · 0 评论 -
用C语言进行CGI程序设计(1)
本文转自:http://www.rosoo.net/a/201108/14800.html 一、CGI概述 CGI(公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互,也就是CGI转载 2011-09-06 09:04:57 · 870 阅读 · 0 评论 -
《Visual C++ 2010入门教程》系列五:合理组织项目、使用外部工具让工作更有效
原文地址这一章跟大家分享一些与c++项目管理、VAX、SVN、VS快捷键等方面的东西。有效的在项目中组织C++文件,分配各种文件的目录对以后的维护会有好处的,至少不会出现不知道什么东西在什么地方,特别是大的项目,这里用TextSearcher来做例子。使用SVN来管理项目会让我们的工作更轻松,工作也会更简单容易。掌握常用的快捷键和常用的VS功能让我们的工转载 2013-08-01 16:25:20 · 722 阅读 · 0 评论 -
直接用socket实现HTTP协议(下载专用)
原文地址从HTTP服务器上下载一个文件有很多方法,“热心”的微软提供了 WinInet 类,用起来也很方便。当然,我们也可以自己实现这些功能,通过格式化请求头很容易就能实现断点续传和检查更新等等功能 。本文附带的工程中有一个支持 HTTP1.1 协议,直接用 Socket 实现下载功能的 DLL,实现了以下功能:1.连接主机2.格式化请求头3.设置接收,转载 2013-08-06 11:23:46 · 12443 阅读 · 0 评论 -
List Control将找到的内容列着色
添加ListCtrl的CustomDraw事件。NMLVCUSTOMDRAW* pLVCD = reinterpret_cast( pNMHDR ); // Take the default processing unless we set this to something else below. *pResult = CDRF_DODEFAULT;原创 2013-08-15 17:11:15 · 676 阅读 · 0 评论