导读

本文仅用于记录在个人在使用VC++过程中的遇到一些的问题和相关概念。


目录
  1. 开发环境
  2. 实践记录
  3. MFC相关
  4. windows编程相关
1、开发环境

1、Visual C++ 官方网站

  主要内容:VC的最新版本、最新技术发展、语言标准、与相关教程等

  链接:https://msdn.microsoft.com/zh-cn/library/60k1461a.aspx

2、VC 的窗口与消息:http://www.thinksaas.cn/group/topic/311028/

2、实践记录

1、在VC中做传统window编程(使用传统接口)时将代码多文件模块化

    消息机制下,数千行代码量的编程,在VC++ 6.0 这样古董的IDE下开发,如果把代码集中在一个文件,代码会越编越臃肿,越编效率越低,大部分时间可能会浪费在找定义,找相关的代码上,为了解决这个问题,解决办法应该很直接,就是——模块化,多文件化。

    这阵子,为了练习window传统的API,给自己编写了一个软件[github Link],简单的功能,当越编越臃肿,于是刚刚就花了点时间把代码重构了一下,在这里给自己总结下吧。

    1)static 全局变量的使用:作用域在文件之内,如果include 包含static全局变量的头文件,VC++6.0 会给每一个include其的文件各分配一个静态内存,无法公用

    2)static 全局变量的另一种使用:如果怕重名不想定义全局而用static,但还是要与其他文件共享,可以定义公用的函数,用函数返回其值或其引用(如果不担心数据的话)

    3)全局变量的使用:虽然知道要对全局变量怀有敬畏之心,但是代码实在太长,要分开来共享又不想使用上面static在2)中的用法,这时在别处要用就是用关键字extern

3、MFC相关

1、MFC文档:http://download.csdn.net/detail/wxh_xdk/2044458#comment

2、MFC 编程入门:http://www.jizhuomi.com/software/153.html

4、windows编程相关

1、窥见VC window消息机制:timer 与消息循环 2

VC —— 笔记汇总的更多相关文章

  1. 读书笔记汇总 - SQL必知必会(第4版)

    本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...

  2. MySQL笔记汇总

    [目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...

  3. NGUI学习笔记汇总

    NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加 ...

  4. 读书笔记汇总 --- 用Python写网络爬虫

    本系列记录并分享:学习利用Python写网络爬虫的过程. 书目信息 Link 书名: 用Python写网络爬虫 作者: [澳]理查德 劳森(Richard Lawson) 原版名称: web scra ...

  5. ST官方翻译的中文应用笔记汇总

    ST官方翻译的中文应用笔记汇总 http://www.51hei.com/stm32/3382.html 官方中文AN:AN3116:STM32? 的 ADC 模式及其应用AN1015:用于提高微控制 ...

  6. Spring研磨分析、Quartz任务调度、Hibernate深入浅出系列文章笔记汇总

    Spring研磨分析.Quartz任务调度.Hibernate深入浅出系列文章笔记汇总 置顶2017年04月27日 10:46:45 阅读数:1213 这系列文章主要是对Spring.Quartz.H ...

  7. ES6 笔记汇总

    ES6 笔记汇总 二.ES6基础-let和const命令 三.变量的解构赋值 四.字符串的拓展 五.正则表达式的拓展 ...将会持续更新,敬请期待

  8. 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总

    当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2  任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...

  9. SpringBoot+MyBatis练手项目笔记汇总

    以下是我在练习SpringBoot+MyBatis训练时候个人一些笔记汇总(可以点击跳转),献丑了,网上很多大佬的文章都比我写的详细,一些好的文章,我会将贴到各个内容中. 1. 插入数据返回id和内部 ...

随机推荐

  1. cmd连接mysql连接:mysql-h主机地址-u用户名-p用户密码(注:u与root可以不用加)

    MySQL导入导出命令1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u wcnc -p smgp_apps_wcnc >wc ...

  2. Set Linux starts in multi-user mode as default.

    ref: How to start Linux in multiuser mode rather than boot directly into XWindows (X11) steps: Log i ...

  3. tableView代理方法的调用时间,(主要是heightForRowAtIndexPath和cellForRowAtIndexPath调用时间)

    最近做一个demo,涉及按照数据分类然后依照分类在 cellForRowAtIndexPath形成不同类型的cell,就是有判断(在viewdidload里面做)和形成(在 cellForRowAtI ...

  4. [!] CocoaPods was not able to update the `master` repo...

    输入pod install之后出现: [!] CocoaPods was not able to update the `master` repo. If this is an unexpected ...

  5. nodejs概论(实操篇)

    什么是模块? 模块分为原生模块(node.jsAPI提供的原生模块,在启动时已经被加载)和 文件模块(动态加载模块,主要由原生模块module来实现和完成.通过调 用node.js的require方法 ...

  6. sencha app build 到 Capturing theme image不执行

    解决sencha app build 到 Capturing theme image不执行 今天电脑重装系统,重新安装了sencha cmd,但是在打包时,到了 Capturing theme ima ...

  7. 加入BOINC(伯克利开放式网络计算平台)

    转载:BOINC:为科学而计算 通过 BOINC 你可以将闲置的计算机时间贡献给 SETI@home, Climateprediction.net, Rosetta@home, World Commu ...

  8. 逆向iOS SDK -- _UIImageAtPath 的实现(SDK 5.1)

    注释过的反汇编代码:http://pan.baidu.com/share/link?shareid=3491166579&uk=537224442 伪代码(不精确,仅供参考): NSStrin ...

  9. Selenium 下载URL

    http://mvnrepository.com/artifact/org.seleniumhq.selenium

  10. 理解O/R Mapping

    本文的目的是以最精炼的语言,理解什么是O/R Mapping,为什么要O/R Mapping,和如何进行O/R Mapping. 什么是O/R Mapping? 广义上,ORM指的是面向对象的对象模型 ...