自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 资源 (4)
  • 收藏
  • 关注

原创 MFC的MDI程序创建客户区不下陷View

MFC的MDI程序创建的View,客户区都下陷。如果想创建客户区不下陷View,需要修改两处:在子框架窗口(CMDIChildWnd或CMDIChildWndEx的派生类)的PreCreateWindow覆写函数中添加如下语句:cs.dwExStyle &= ~WS_EX_CLIENTEDGE;在视图窗口(CView的派生类)的PreCreateWindow覆写函数中添加如下语句:cs.style &= ~WS_BORDER;/////////////////////

2021-04-30 07:44:42 186

原创 指向C++类虚成员函数指针的释疑

指向基类的虚成员函数的指针赋值为基类的虚成员函数地址,如果派生类覆写了基类的对应虚函数,那么当用派生类的对象来调用该虚成员函数指针时,调用的是派生类虚函数!见下面的实例。#include <iostream>using namespace std;class Base{public: virtual void Func() { cout << "Base Func\n"; }};class Derived : public Base{public: v

2021-04-29 09:15:27 292

原创 MFC对话框中的OnCancel方法

MFC对话框中的OnCancel虚拟方法在如下三个时机被调用:1、对话框按IDCANCEL按钮,直接通过CDialog的ON_COMMAND(IDCANCEL, &CDialog::OnCancel)的消息映射,触发对OnCancel的调用;2、按ESC按键,在CDialog::PreTranslateMessage中,调用CWnd::PreTranslateInput,进而调用CWnd::IsDialogMessage,接下来调用Windows API ::IsDialogMessage。在

2021-04-09 15:34:17 2393

原创 Window 命令提示符不支持UTF-16代码页

对于如下程序,用VC 6.0在XP和VS 2019在Windows 10下测试。#include <stdio.h>#include <windows.h>int main(int argc, char* argv[]){ wchar_t *pc; char MultiStr[] = "ABC中文"; wchar_t DBStr[] = L"ABC中文"; char NewBuf[128]; int PrintCount; printf("%s\n", M

2020-11-23 13:44:20 2986 2

转载 计算π的算法

#include <string.h>/* PI/2 = 1 + (1/3) + (1/3)*(2/5) + (1/3)*(2/5)*(3/7) + (1/3)*(2/5)*(3/7)*(4/9) + ... double x=2, z=2; int a=1, b=3; while(z>1e-15) { z = z*a/b; x += z; a++; b+=2; }*/#define PI_WEI_COUNT 1000#define ARRSIZ..

2020-10-22 14:29:58 1284

原创 重温唐诗二首

一                   赤壁                   杜牧折戟沉沙铁未销自将磨洗认前朝东方不于周郎便铜雀春深锁二乔二               贾生             李商隐宣室求贤访逐臣贾生才调更无伦可怜夜半虚前席不问苍生问鬼神

2015-02-15 15:13:01 552

原创 Keil 8051 RTX51 Tiny使用注意事项

近来回顾Keil 8051的RTX51 Tiny操作系统的使用,发现RTX51 Tiny的实现还是比较巧妙的:动态堆栈搬移,为当前运行任务腾出最大可用堆栈空间的思路很有亮点。下面是RTX51 Tiny使用的一些备忘。      1、OS代码大小。时间片轮转使能时os核心380字节左右,os_create大小137字节。这样,使用OS的代码最小代价是520字节左右。      2、数据占用大

2014-12-09 16:59:21 3124

原创 扫盲回帖系列之3——在windows下编译生成的程序为什么不能在ubuntu下运行呢?

原始提问帖见http://bbs.csdn.net/topics/390931945。 基本概念问题。不讨论可执行脚本情况,因为脚本不是由机器码构成,脚本在脚本解释器上运行,而解释器本身实现在不同谱系的操作系统(如Linux和Windows,不指同一种操作系统的不同版本情况,下同)上需要移植,解释器在同一操作系统的不同CPU上至少需要重新编译源码。 同样的硬件...

2014-11-13 18:20:25 2291 3

原创 扫盲回帖系列之2——操作系统的疑问

原始提问帖见。摘录如下:

2014-11-12 00:22:23 1016

原创 扫盲回帖系列之1——栈的疑问

看到一个帖子(),如下:

2014-11-11 23:53:27 1084

原创 对一个简单数学问题的浮想

在网上看到这么一个帖子(http://bbs.csdn.net/topics/390923410),摘录问题及一位网友的回帖如下:求鄙视,让我在鄙视的路上愈加强大不知道这个题应该发到哪里,不过真是C++面试时候遇到的题题目一个寝室有5个人,有3个相同的柜子,毕业了其中3个人每人分了一个柜子,然后这3个人每人掏了800块钱平分给另外2个人。这是一个公平的交易。求一个柜子多少钱

2014-11-10 23:21:58 822

原创 浅谈国产操作系统

今天看了csdn一篇文章《地狱→炼狱→天堂”,国产OS成功路上的必经过程》http://www.csdn.net/article/2014-11-03/2822430。浏览后门的评论,看到这样一个发言:“韩国这个国家总是出乎我的意料,真希望国产系统也可以兼容微软的office软件,这样系统份额就可以提升了,用户多了,再努力开发自己的办公软件可能就容易多了。原谅我这个小白发表这样的言

2014-11-05 17:46:25 7048 2

原创 和程序员聊聊PC下的内存地址

介绍PC环境下、Windows/Linux系统中的一些地址概念:物理地址,虚拟地址,逻辑地址,线性地址,以及它们的翻译路径。还列出了Windows 32/64位,Linux 32/64位虚拟地址空间范围。特别解释了32 Windows(如XP/7)在4GB物理内存浪费比较大的原因。虽然没有配备插图方便读者理解,但我要尝试锻炼自己的文字叙述能力,同时也锻炼读者阅读文字的想象能力。能否不借用Intel/Microsoft出版文档中的插图,保持概念基本准确的前提下阐述这些对C程序员比较重要的概念,的确有挑战,但实

2014-11-02 12:37:39 5183 1

原创 DOS运行环境回顾

近日出于对x86实模式的了解需要,对古董操作系统DOS的虚拟运行方式顺便进行了了解。这里说的DOS虚拟运行方式,是相对DOS的真实运行而言的,DOS真实运行指DOS从真实外存(硬盘、U盘)上引导,在x86兼容处理器上直接运行的模式。DOS虚拟运行环境

2014-10-29 17:04:00 805

原创 VS2008 ml64汇编器不支持FLAT关键字问题

在VS2008中,把源cpp文件设置成输出汇编文件,输出

2014-10-23 15:05:08 1593 2

原创 最小的C语言Hello,world程序

编译、链接选项:cl -c MinimumSizeApp.clink /nodefaultlib /entry:main /align:16 MinimumSizeApp.obj kernel32.lib#include int main(void){ HANDLE hOutput = GetStdHandle(STD_OUTPUT_HANDLE); WriteFil

2014-01-10 17:13:59 1357 2

原创 改进的malloc/free实现源码

此malloc/free实现增加空闲块添加功能:AddFreeMemBlock#include "stdafx.h"#include #include #include #include typedef struct tagMemMgr_t{ struct tagMemMgr_t *pNext; struct tagMemMgr_t *pPrev; int Siz

2013-12-31 10:45:33 847

原创 malloc/free实现 源码

采用双向链表,为将来的优化提供支持:每次释放时从最近一次分配处的下一空闲块开始比较、查找。#include "stdafx.h"#include #include #include #include typedef struct tagMemMgr_t{ struct tagMemMgr_t *pNext; struct tagMemMgr_t *pPrev; int

2013-12-23 16:53:04 1362 5

原创 二进制转十进制例程

void UnsignedToStr(unsigned int Value, char * pBuffer, int BufSize){ char OutStrBuf[32]; int Count = 0, i; if(BufSize == 0) return; do { OutStrBuf[Count] = Value % 10 + '0'; Value = Value

2012-05-03 11:20:11 1410 3

原创 关于uC/OS-II 2.52 Turbo C++ 3.0编译的几个问题。

uC/OS-II 2.52需要Borland C++ 4.51编译,无Borland C++ 4.51怎么办?用Turbo C++ 3.0也可以编译。1、修改Test.mak。Borland指向Turbo C++ 3.0安装路径;C_FLAGS不支持Obeglmpv,删除该选项。2、修改Test.lnk。库指向Turbo C++ 3.0安装路径下下的库文件。注意,由于lnk文件扩展名和Windows链接文件名相同,需要在DOS下重新命名后才能修改test.lnk,或者直接在DOS下运行 edit test.

2011-01-17 15:40:00 1056

原创 MFC中的消息反射机制

简单说,父窗口把子窗口(控件)发送给父窗口的消息回传给子窗口的回传行为称为消息反射机制。为什么MFC要使用消息反射机制?简单说,是MFC考虑到实际情形,为提高MFC程序设计质量(如封装性)而设计的一种机制。我们以如下实例来说明。有一个对话框窗口D,内有一个按钮控件B(ID为IDC_B1),当我们单击按钮B,就我们此时的关注点来说大致会产生如下消息:1、B:WM_LBUTTONDO

2010-03-20 13:45:00 1207 1

最小的C语言Helloworld程序

最小的C语言Hello, world程序

2014-01-10

Turbo C++ 3.0

增加了tasm.exe,make.exe和tlink.exe都是新版本,能够无错编译uC/OS-II 2.52,可替代Borland C++ 4.51,在Win98和XP均编译通过。http://blog.csdn.net/binaryhead/archive/2011/01/17/6147066.aspx

2011-01-17

Turbo ASM 5.0

Turbo ASM 5.0,1996年出品。uC/OS-II的汇编可以用此编译器编译。另,此编译器的make.exe和tlink.exe版本较Turbo C++ 3.0新,编译uC/OS-II时,可用此版本的make.exe和tlink.exe。

2011-01-14

Turbo C++ 3.0

DOS编译器,1991出品。uC/OS-II 可以用此编译器编译。

2011-01-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除