随笔分类 -  C/C++

摘要:打开 .vcproj 文件一般会看到 ProjectType="typeDynamicLibrary"这个表示dll工程 exe工程可能不存在ProjectType这个属性,不同的VS版本有不同的表示形式,但是万变不离其宗。 如:存在以下关键字,表示控制台工程。Keyword="Console Ap 阅读全文
posted @ 2021-12-25 16:48 george_cw 阅读(881) 评论(0) 推荐(0)
摘要:1. 一般来说会自定义一个窗口类继承UIBase.h中定义的CWindowWnd类。 1 class CMainFrameUI: 2 public CBasicWnd,public INotifyUI,public IDialogBuilderCallback 3 { 4 ... 5 }; CWin 阅读全文
posted @ 2021-01-16 16:16 george_cw 阅读(624) 评论(0) 推荐(0)
摘要:使用esyhook去hook系统api,可以抓取一些想要的信息 先创建一个dll工程 1 #include "easyhook.h" 2 3 #if _WIN64 4 #pragma comment(lib, "EasyHook64.lib") 5 #else 6 #pragma comment(l 阅读全文
posted @ 2020-09-07 14:09 george_cw 阅读(1372) 评论(0) 推荐(0)
摘要:/*++ BUILD Version: 0005 // Increment this if a change has global effects Copyright (c) Microsoft Corporation. All rights reserved. Module Name: ntsta 阅读全文
posted @ 2020-04-01 15:53 george_cw 阅读(2316) 评论(0) 推荐(0)
摘要:1 bool DeleteFolderAll(LPCTSTR pSrcPath ) 2 { 3 if(pSrcPath == NULL) 4 return false; 5 6 wchar_t pwcPath[MAX_PATH]; 7 wcscpy(pwcPath , pSrcPath); 8 int ilen = wcslen(pwcPath); 9 10 if (pwcPath[ilen-1] 阅读全文
posted @ 2019-09-07 11:52 george_cw 阅读(1997) 评论(0) 推荐(0)
摘要:记录~ 阅读全文
posted @ 2018-07-12 19:45 george_cw 阅读(1664) 评论(0) 推荐(0)
摘要:一般来说,很多软件都会有自定义后缀的文件,比如.cpp、.doc等,那么如果我们想把这些后缀与我们的软件关联起来,如何做呢 调用: 一般是在初始化HINSTANCE 的地方: 如bool CWndShadow::Initialize(HINSTANCE hInstance) 我这里使用的是CWndS 阅读全文
posted @ 2016-09-29 11:15 george_cw 阅读(1011) 评论(0) 推荐(0)
摘要:时隔5个月才有时间接着写未完成的实现部分,也是惭愧呀 选几个关键的函数来解析,一些get方法就忽略掉吧 CMarkupNode 与 CMarkUp 互为友元类,CMarkUp 实现解析,CMarkupNode 用于存储读取节点数据 1 void CMarkupNode::_MapAttributes 阅读全文
posted @ 2016-09-09 17:30 george_cw 阅读(841) 评论(0) 推荐(0)
摘要:记录一下C++ 编码转换的函数: 阅读全文
posted @ 2016-08-05 20:28 george_cw 阅读(5326) 评论(4) 推荐(0)
摘要:对于连个不同的进程之间的通信,共享内存是一种比较好的方式,一个进程把数据发送到共享内存中, 另一个进程可以读取改数据,简单记录一下代码 阅读全文
posted @ 2016-06-30 10:52 george_cw 阅读(8864) 评论(0) 推荐(0)
摘要:xml使用的还是比较多的,duilib界面也是通过xml配置实现的 duilib提供了CMarkkup和CMarkupNode类解析xml,使用起来也是比较方便的,比较好奇它是怎么实现的,如果自己来写一个 解析又需要怎样架构,架构之路还很遥远。。。 先来看看头文件吧,CMarkup主要是用于分割xm 阅读全文
posted @ 2016-04-09 17:25 george_cw 阅读(488) 评论(0) 推荐(0)
摘要:duilib是一个比较常见的界面库,闲来无事看看别人写的代码,跟自己写的一比, 才看到了差距呀,感觉自己写的乱七八糟,keep moving CduiString是duilib提供的一个字符串类,功能是够用的,做duilib项目可以直接拿来用 首先看看头文件定义: 看了定义之后其中的api大部分都会 阅读全文
posted @ 2016-04-02 16:29 george_cw 阅读(2633) 评论(0) 推荐(0)
摘要:python和C++能进行有效的交互,c++调用Python的一些小用法 写了一个python脚本导入发生异常,可能是编码问题(如存在中文),Python默认的是ASCII可加上:#!/usr/bin/python# -*- coding: utf-8 -*-参见:https://www.pytho 阅读全文
posted @ 2016-04-02 10:59 george_cw 阅读(1773) 评论(0) 推荐(0)
摘要:C++, 异常处理 阅读全文
posted @ 2016-03-22 11:39 george_cw 阅读(2202) 评论(0) 推荐(0)
摘要:接下来的是more effective c++ 11至20条款:11.禁止异常信息(exceptions)传递到析构函数外。析构函数的调用情况可能有两种:(1)对象正常销毁 (2)异常传播过程中的栈展开机制-销毁。如果在析构函数内抛出异常,它不会被析构函数捕获,它会传播到析构函数的调用端,如果调用端... 阅读全文
posted @ 2014-12-18 21:34 george_cw 阅读(187) 评论(0) 推荐(0)
摘要:简单分析总结了more effective c++ 的前十个条款:剩下的条款to be continue~1.仔细区分指针和引用引用必须不能指向空,指针可以指向空,指针初始化是记得赋空值,重载某些操作符时(例如[])应该返回引用。2.最好使用C++转型操作符旧式的C转型应该少用,尽量使用新的C++的... 阅读全文
posted @ 2014-12-14 10:18 george_cw 阅读(139) 评论(0) 推荐(0)
摘要:看完Effective C++才觉得平时程序设计时需要注意的一些问题,有一定的收获,不过因为没什么项目实践,并未很深入了解具体情况如何,还需后继实践~列举一下55个条款:1. 视C++为一个语言联邦.2. 尽量以const, enum ,inline 替换#definea) 对于单纯常量,最好以co... 阅读全文
posted @ 2014-11-29 09:51 george_cw 阅读(280) 评论(0) 推荐(0)
摘要:本文描述一下:C运行时的数据结构,相关的段,压栈等unix默认的编译器会将编译生成的文件默认命名为a.out目标文件和可执行文件可以有几种不同的格式,所有这些不同格式具有一个共同的概念,那就是段。这里的段表示一个二进制文件相关的内容块。用size + 可执行文件名 可以显示这个文件的三个段(文本段,... 阅读全文
posted @ 2014-11-11 16:29 george_cw 阅读(364) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 using namespace std; 4 #define max(a,b) ((a)>(b) ? (a) : (b)) 5 #define abs(a) ((a)>0 ? (a) : (-a)) 6 int foo(int x, int y) 7... 阅读全文
posted @ 2014-07-28 16:05 george_cw 阅读(191) 评论(0) 推荐(0)
摘要:有两个相同的数组A,B,所含元素相同,但顺序不同,只能取得A数组某值和B数组某值进行比较,比较结果为大于,小于或等于,但是不能取得同一组数组A或B中的两个数进行比较,也不能取得某数组中的某个值。写一个算法实现正确匹配(即A数组中某值与B数组中某值等值)一、用循环二、建立一个结构数组c{某数B数组位置... 阅读全文
posted @ 2014-07-28 12:29 george_cw 阅读(722) 评论(0) 推荐(0)