C++
yao_yu_126
这个作者很懒,什么都没留下…
展开
-
osg学习实例 - 绘制球体+MatrixTransform
#include <osgViewer/Viewer>#include <osgGA/TrackballManipulator>#include <osgGA/StateSetManipulator>#include <osgViewer/ViewerEventHandlers>#include <cstdlib>#include <vector>#include <osg/MatrixTransform>#.原创 2021-08-10 17:19:43 · 662 阅读 · 0 评论 -
CMake教程小结
CMake教程小结文章目录CMake教程小结简介主要功能摘要1. 生成执行程序核心代码命令行使用示例2. 生成库(旧式CMake)生成库其它核心代码3. 生成库(新式CMake)核心代码更改4. 基于源代码的安装与测试核心代码更改命令行使用示例5. 系统检测核心代码更改6. 添加自定义命令以及生成文件核心代码更改7. 构建安装程序核心代码更改命令行使用示例8. 将测试结果提交到Kitware的公共指示板核心代码更改命令行使用示例9. 混合静态和共享库核心代码更改命令行使用示例10. 生成器表达式,条件判断原创 2020-05-09 18:03:49 · 533 阅读 · 0 评论 -
C++ 远程Dll加载,卸载示例代码
DllLoadTest.cpp#include //Dll加载BOOL RemoteLoadLibrary( DWORD dwProcessID, char *lpszDll){ //打开目标进程 HANDLE hProcess = OpenProcess( PROCESS_CREATE_THREAD | PROCESS_VM_OPERATION | PROCESS_VM_WRIT原创 2013-10-27 20:15:48 · 1851 阅读 · 0 评论 -
C++: Sqlite3几种数据插入方式比较
在sqlite3中,数据的更新模式默认为PRAGMA synchronous = FULL; 这个参数影响了更新数据的速度。下面的测试代码表明,OFF状态比Full状态的更新速度快50倍左右1. 示例代码#include "sqlite3.h"#include #include #include static char s_szDBFile[] = "d:\\te原创 2013-10-28 12:59:44 · 4165 阅读 · 0 评论 -
C++ 多线程之临界区和事件
前一篇学习了临界区的概念,但是没有线程控制力。在这里我加入了通知事件来进行线程同步控制的目的。1. 创建Win32控制台应用程序2. 加入以下代码/*Thread.cpp*/#include#include#include //线程临界区锁class CCriticalSectionLock { public: CCriti原创 2013-11-01 11:42:52 · 1081 阅读 · 0 评论 -
C++ 浅说Windows多线程临界区域(Critical Section)
临界区域: 简单的说, 是一种多线程数据同步的控制方式。可以把它想像成一扇门,没人用的时候门是大家先到先进,进去了之后门关上,后面的人排队等前面的人出来才能进入1. 大家都通过同一扇门用同样的东西EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection),有人在门里,就等待2. 用完东西后,就出门(LeaveCriticalSe原创 2013-10-31 15:12:29 · 923 阅读 · 0 评论 -
C++: Socket工作流程图(WinSock)
1. TCP方式2. UDP方式原创 2013-11-02 14:44:42 · 1570 阅读 · 0 评论 -
C++ 简单TCP实例
简单TCP原理如上篇所示。这里用一个简单的例子来演示流程的实现Server与Client的区别在于Server用bind, listen, accept,简称“绑听接”Client用connect,简称“连”1. 创建Win32控制台项目,加入SimpleTCPServer.cpp/* * 一问一答式简单TCP短连接,用于演示TCP连接原理 */#pra原创 2013-11-02 17:50:29 · 2015 阅读 · 0 评论 -
cmake 学习笔记(一)
cmake 学习笔记(一)原文: http://blog.csdn.net/dbzhang800/article/details/6314073目录(?)[+]最大的Qt4程序群(KDE4)采用cmake作为构建系统Qt4的python绑定(pyside)采用了cmake作为构建系统开源的图像处理库 opencv 采用cmake 作为构建转载 2016-11-08 20:14:14 · 579 阅读 · 0 评论 -
C++: Ini操作类
dscjIni.h#ifndef _DSCJ_INI_H#define _DSCJ_INI_H#define MAX_BUFFER_SIZE 255class CIni{public: CIni(char* szFileName); //读操作 int GetInteger(char* szSection, char* szKey, int iDefaultValue);原创 2013-10-19 19:53:39 · 885 阅读 · 0 评论 -
C++ WideCharToMultiByte函数注意事项
函数原型int WideCharToMultiByte( UINT CodePage, //指定执行转换的代码页 DWORD dwFlags, //允许你进行额外的控制,它会影响使用了读音符号(比如重音)的字符 LPCWSTR lpWideCharStr, //指定要转换为宽字节字符串的缓冲区 int cchWideChar,原创 2013-10-18 23:55:00 · 4509 阅读 · 0 评论 -
C++: wxWidgets (3) 一个简单的wxWidgets程序(学习笔记)
1. 示例文件在CodeLite中创建一个WorkSpace,再在WorkSpace中创建一个Project,加入以下两个文件:文件:SimplewxWidgets.cpp/* 名称: SimplewxWidgets.cpp * 目的: 一个简单的wxWidget示例*/#include // 定义应用程序类class MyApp: public wxApp{publ原创 2012-10-02 15:44:41 · 1208 阅读 · 0 评论 -
C++: wxWidgets (1) 介绍(摘)
1.1 什么是wxWidgets? wxWidgets是一个开发包。它提供了一个编辑框架,除了提供GUI支持外,还可以进行:文件和流操作,多线程,程序设置,进程间通讯,数据库访问等。这样做的目的是让使用wxWidgets编写的程序的各个部分都可以跨平台。1.2 为什么选择wxWidgets?wxWidgets是跨平台的。开发的程序可以在Windows、Linux或Max OS原创 2012-10-01 17:33:38 · 1216 阅读 · 0 评论 -
C++: wxWidgets (2) CodeLite 开源C/C++IDE
一个不错的开源C/C++编程语言的跨平台IDE1. CodeLite CodeLite是一个功能强大的开源C/C++编程语言的跨平台IDE。它和Code::Blocks一样,基于wxWidgets,但它的版本发布速度快,最新版本为codelite-4.1.5770-mingw4.6.1-wx2.9.4.exe。 选择codelite-4.1.5770-mingw4.原创 2012-10-01 17:59:10 · 1819 阅读 · 0 评论 -
C++ GDI+简单示例(绘制直线)
1. 创建MFC应用程序, CMyApp2. 在stdafx.h文件中加入GDI+支持//GDI+支持#include using namespace Gdiplus;#pragma comment (lib,"Gdiplus.lib")3. 在CMyApp.h文件中的CMyApp加入public: ULONG_PTR m_pGdiplusToken;public:原创 2013-08-24 17:41:06 · 11791 阅读 · 0 评论 -
C++学习笔记: CreateToolhelp32Snapshot
CreateToolhelp32SnapshotCreateToolhelp32Snapshot函数为指定的进程、进程使用的堆[HEAP]、模块[MODULE]、线程[THREAD])建立一个快照[snapshot]。 HANDLE WINAPI CreateToolhelp32Snapshot( DWORD dwFlags, //用来指定“快照”中需要返回的对象,可以是TH3转载 2013-10-02 09:45:37 · 1837 阅读 · 0 评论 -
C++ Hook IAT (基于IAT的Hook实践)
本实践基于HookImportFunction.cpp(h), 源自星际译王,代码附后一. 使用方式 本实践由测试主程序部分与测试dll两部分组成,分别编译成功后,先运行test.exe,再使用dll注入工具将hookTest.dll注入到test.exe中,回车运行。二. 测试主程序(test.exe)1. 创建Win32控制台空项目文件2. 创建应用程序入口文件(main原创 2013-10-07 19:30:31 · 5178 阅读 · 0 评论 -
C语言#,##操作符
# 和 ## 操作符是和#define宏一起使用的。使用#, 使在#后的首个参数返回为一个带引号的字符串。例如: #define to_string( s ) # s将会使编译器把以下命令 cout 理解为 cout 使用##,连结##前后的内容。例如: #define concatenate( x, y ) x ## y转载 2012-10-01 11:54:37 · 999 阅读 · 0 评论