c++开发
文章平均质量分 68
永远的麦田
资深程序员,爱程序,爱生活
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
关于仿制的一个ACE跟踪类
ACE有一个跟踪类ACE_Trace,本文为了弄清这个跟踪类,并增强一些功能,自己仿制一个Trace跟踪类,这个类完全模仿ACE_Trace类,只是在开始增加了一个标题。这个标题你可以在#define时进行定制。以下为头文件://Trace.h // Trace.h : //#pragma once#define ACE_NDEBUG 0#define ACE_NTRACE 0原创 2008-01-15 23:08:00 · 817 阅读 · 0 评论 -
ACE日志重定向(一)
前面提到的日志功能,只是简单的将日志打印出来,拥有了重定向功能后,这样的日志将会更强大。今天暂时将相关重定向的代码贴上来。再次申请,vs2005下编译通过。下次再进行改进,并更上所有测试程序。 // LogManager.h: //#include "ace/log_msg.h"#include "ace/Object_Manager.h"#include "aceSingl原创 2008-01-16 01:20:00 · 882 阅读 · 0 评论 -
ACE日志初学
从网上下的版本为ACE-5.4+TAO-1.4+CIAO-0.4,有最新版,只是认为学习用旧一点的版本比较好,稳定且占用空间并不是很多,最关键的是够用了。然后将其中一个config_win32.h类似的文件修改成config.h文件,编译即可通过。然后按书中写了一个测试日志的程序: // testlogmsg.cpp : Defines the entry point for原创 2008-01-12 13:45:00 · 721 阅读 · 0 评论 -
一个简单的httpServer(STL编写,控制台程序)
从codeproject上找来,链接:http://www.codeproject.com/KB/IP/socketserver.aspx A set of classes written in STL that implement a web server Introduction This article presents code for a web server implemented using sockets and STL. The code for the web server原创 2010-07-28 11:07:00 · 2176 阅读 · 0 评论 -
Windows Mobile下的窗体半透明实现
windows mobile不像windows那么方便,有SetLayeredWindowAttributes可以使用来实现半透明。 在显示一个窗体之前,需要得到得到桌面DC,将其拷贝至内存DC中,再将相应区域的内容拷贝至窗口DC,最后进行半透明处理。 用到的函数有 GetDC CreateCompatibleDC BitBlt AlphaBlend 等。 前述为转来,稍后做一些sample上来。原创 2010-07-27 11:43:00 · 508 阅读 · 0 评论 -
windows mobile中区分cmwap或cmnet接入点(转)
我在之前的一篇文章中谈到了使用网络接入点的问题:http://blog.youkuaiyun.com/pknife/archive/2008/05/21/2467602.aspx 另外的一篇文章演示了如何创建cmwap接入点:http://blog.youkuaiyun.com/pknife/archive/2008/05/22/2469126.aspx 另外,关于mobile 开发相关网页:http://hi.baidu.com/peter_zb/blog/item/030bd56129f1fc4debf8f899.html原创 2010-07-27 11:48:00 · 2797 阅读 · 0 评论 -
MFC的消息机制
今天重新整理MFC的消息机制,最终的结果应该是利用win32程序模拟一个MFC的消息链。 1.标准消息 除WM_COMMAND之外,所有以WM_开头的消息。 从CWnd派生的类,都可以接收到这类消息。 2.命令消息 来自菜单、加速键或工具栏按钮的消息。这类消息都以WM_COMMAND呈现。在MFC中,通过菜单项的标识(ID)来区分不同的命令消息;在SDK中,通过消息的wParam参数识别。 CCmdTarget派生的类,都可以接收到这类消息。 3.通告消息 由控件产生的消息,例原创 2010-07-11 14:54:00 · 9668 阅读 · 2 评论 -
Windows mobile上获取输入光标位置(转)
用户在输入过程中,光标的位置在不停变化,如何得到这个位置来进行一些操作呢?似乎很简单,GetCaretPos,这个函数能得到光标的位置。 看看MSDN上如何说的: GetCaretPos See Also SetCaretPos | POINT | Carets Functions Requirements OS Versions: Windows CE 1.0 and later. Header: Winuser.h. Link Library: Caret.lib.原创 2010-07-27 11:45:00 · 687 阅读 · 0 评论 -
MFC六大关键技术之模拟
先列出类的层次: 以下代码,模拟MFC运行的类,纯是一个玩具程序,主要是为后面的技术服务,作一个基础。 /******************************************************************** created: 2010-7-13 22:40 filename: MFC.h author: luis purpose: ***************************************************原创 2010-07-11 23:43:00 · 1415 阅读 · 0 评论 -
C++沉思录-第6章 句柄
语义句柄首先列出测试文件:#include "stdafx.h"#include <iostream>#include "Point.h"using namespace std;int main(){ Handle h(3, 4); Handle h2 = h; cout << "before h2.x(5):h.x=" << h.x() << endl; h原创 2017-04-10 09:14:11 · 457 阅读 · 0 评论 -
C++沉思录-第7章 句柄二 引用计数的分离
第六章的句柄,通过UPoint类封Point实现句柄的绑定。 UPoint类的使用只是为了实现引用计数,因此,本章的任务是不再实现额外的UPoint,只将引用计数进行单独考量。简单的引用计数原创 2017-04-29 11:35:48 · 619 阅读 · 0 评论 -
一个多线程的socketServer
程序取自Programming python,4th,讲述的是一个多线程的socketServer,程序还是比较简单的,原创 2014-10-01 20:57:43 · 1015 阅读 · 0 评论 -
C++沉思录-第5章 代理类
问题:设计一个容器类,可以装载相关联的类。一般容器类如vector或是list只能存放相同类型的类。这里我们想实现类似如下的功能: VehicleSurrogate parking_lot[100]; Trunk x; parking_lot[0] = x; Car c; parking_lot[1] = c;如果parking_lot存储的是指针,相对而言会容原创 2017-04-08 13:10:10 · 537 阅读 · 0 评论 -
C++关于线程间同步的理解
创建了独占的锁,此时如果ready为真,说明数据已经准备好了,无需等待,直接获取即可,即跳出while循环,否则进入while循环,执行cv.wait。有一点须知:std::unique_lock和std::lock_guard的作用几乎一样,前者更耗资源,并且可由cv.wait释放,也可通用lock.un_lock()释放,而后者需通过超出作用域释放。在执行cv.wait时,会自动释放独占锁,若跳过cv.wait时,则会在超出作用域时自动释放独占锁。原创 2024-03-31 16:40:07 · 365 阅读 · 0 评论 -
一个线程池的理解
最近看到一个线程池,写的实在太好,于是想深入理解一下。由于平时的工程一般只支持到C++11,而拿到的代码应该是在C++20下才能编译通过,因此也做了一些修改,需要原始码的可去github上自行下载。测试结果如下:可以看到,加入到线程池的过程是在主线程中进行的,实际运行的都是在工作线程中完成。原创 2024-04-04 23:24:55 · 1022 阅读 · 0 评论 -
一个线程池的理解(二)
一般对于常规的学习,理解后应该是如何应用的问题,最简单的应用就是利用这个线程池执行异步任务,在测试例子中便有简单的应用。深入点应用则是修改原始码,根据自己的需要增加或改造功能。比如,仿制一个最简单的cron的定时器功能,即异步定时任务功能。原创 2024-04-05 19:33:52 · 871 阅读 · 0 评论 -
通达信插件获取并存储通达信商品指数的实时数据
通达信商品指数一共有23个,如下图所示:如果想获取历史数据,只需要通过通达信的数据下载和导出功能即可,现在我们需要获取这23个指数的实时数据,通过导出功能就没有办法了。在最初的阶段,考虑的是合成的逻辑,即找到每一个指数的成份股,计算出对应的加权指数后再进行算术平均来计算对应的指数。原创 2023-01-23 18:26:23 · 8782 阅读 · 3 评论 -
vscode远程调试linux上的c++
1 在目标机上安装C++的开发环境:yum -y install gcc gcc-c++ kernel-devel2 在目标机上安装gdbyum -y install gdb3 vscode上安装Remote-Development4 打开远程文件,准备进行远程调试5、安装远程cpp插件只需键入cpptools,然后把红框出现的全部安装即可6 开始进行调试:开始调试的过程我分几个图展示,关键步骤是选g++,C++(GDB/LLDB)最终...原创 2022-05-27 12:01:38 · 2205 阅读 · 0 评论 -
C++宏定义不定参数调用log4cplus日志
由于log4cplus日志是<<形式的日志输入,然后接手的一些库是用printf()通过不定参数打印到屏幕的。想着直接将其打印到文件,便于日后查验,又不想重头到尾的修改成log4cplus格式的输入。那样要改好久,且由于不定参数的打印格式问题,估计改完后会有一堆的非期望输出。目标将所有printf通过LOG的替换,完成将打印到屏幕转为由log4cplus接入。一种方法是定义一个不定参数宏:extern void LogWrite(char *s, ...);#define LO原创 2021-02-25 17:43:24 · 690 阅读 · 0 评论 -
c++宏代码调用不定参数
写交易所CTP代码发现里面有一个宏LOG,接收不定参数并将之打印.而平时自己的代码是用log4cplus写的,准备将LOG通过底层处理交由log4cplus接管.原始的LOG定义比较简单:#define LOG(format, ...) fprintf(logfile, format, __VA_ARGS__); printf(format, __VA_ARGS__); fflush(logfile);在外部定义一个文件,然后支持不定参数,将之打印到文件中完事.如果需要将之交由log4cp原创 2020-07-01 12:08:05 · 1991 阅读 · 0 评论
分享