windows工程总结】的更多相关文章

1.win32控制台console程序 运行在MS-DOS环境中的程序.控制台应用程序通常没有可视化的界面,只是通过字符串来显示或者监控程序.控制台程序常常被应用在测试.监控等用途,用户往往只关心数据,不在乎界面. 生产.exe可执行程序. 通过命令行实现输入输出交互,可直接使用printf,getchar等库函数. 可直接使用win32 api接口. 入口是int main(int argc, char* argv[]). main()中主要工作包括注册窗口类RegisterClass或Reg…
一.前言 Linux拥有丰富各种源代码资源,但是大部分代码在Windows平台情况是无法正常编译的.Windows平台根本无法直接利用这些源代码资源.如果想要使用完整的代码,就要做移植工作.因为C/C++ Library的不同和其他的一些原因,移植C/C++代码是一项困难的工作.本文将以一个实际的例子(Tar)来说明如何把Linux代码移植到Windows平台上.移植过程将尽量少修改代码,以便代码的运行逻辑不会发生任何变动.保留绝大部分软件主要功能. 二.准备工作 Tar是Linux平台下面一个…
原创文章,转载请标明出处:Soul Apogee (http://bigasp.com),谢谢. Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,他支持Windows,Linux和Mac和Solaris.由于他本身跨平台,所以很大的减少我们在平台移植时的工作,毕竟崩溃转储,每个平台下都不同,使用起来很难统一,而Google breakpad就帮我们做到了这一点,不管是哪个平台下的崩溃,都能够进行统一的分析.现在很多工程都在使用他:最著名的几个如Chrome,Firefo…
Google Breakpad是什么? 一个开源的多平台崩溃报告系统. Google breakpad是一个非常实用的跨平台的崩溃转储和分析模块,它支持Windows,Linux和Mac和Solaris.由于他本身跨平台,所以很大程度上减少了我们在平台移植时的工作,毕竟崩溃转储,每个平台下都不同,使用起来很难统一,而Google breakpad就帮我们做到了这一点,不管是哪个平台下的崩溃,都能够进行统一的分析. 现在很多工程都在使用它:最著名的几个如Chrome,Firefox,Picasa和…
原文链接:http://gogojimmy.net/2012/04/07/why-programmer-should-use-mac/ 序 一个竞争的市场,就会有对立的产生,这世界存在着很多不同的领域,领域好比是个江湖的缩影,因此就有许多门派的纷争,例如说浏览器领域有着最大宗的IE 派,门派成长速度飞快,武功版号跳的跟台湾物价指数一样快的Chrome 门,不断被模仿,一直被超越的Opera 派:韧性极强,一直对抗几大势力的Firefox 派等等,程式语言也有自己的领域纷争,社群网站也有社群网站领…
今天想给我的C++项目找一个开源的日志类,用于记录系统日志,结果浪费了半个下午的时间.从网上搜索相关资料,找到以下几个备选方案: 1.log4cplus 下载地址:http://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.1.0 2.log4cxx 下载地址:http://logging.apache.org/log4cxx/download.html (log4cxx 是由JAVA实现的 log4j 开源的,用C++实…
下面截图是HelloWorld项目下的文件夹结构 这是用python命令生成的项目,在创建过程中默认生成多个平台的程序文件. 1.“resource”文件夹 该文件夹主要用于存放游戏中需要的图片.音频和配置等资源文件.为了方便管理,可以在其中创建子文件夹.在不同平台下,对于文件路径的定义是不一致的,但实际接口大同小异.Cocos2d-x为我们屏蔽了这些差异,其中“resource”文件夹可以默认为游戏运行时的目录. 2.proj.win32文件夹 “main.h”.“main.cpp” 用于放置…
打开新建的"findmistress"项目,可以看到项目文件是由多个代码文件及文件夹组成的,其中 Hello World 的代码文件直接存放于该项目文件夹中.下面我们来详细介绍一下项目的文件组成. 1."resource" 该文件夹主要用于存放游戏中需要的图片.音频和配置等资源文件.为了方便管理,可以在其中创建子文件夹.在不同平台下,对于文件路径的定义是不一致的,但实际接口大同小异.Cocos2d-x 为我们屏蔽了这些差异,其中"resource"…
零.引言 PropertyGrid用来显示和编辑对象的属性,前面已经简单介绍了如何使用该控件和提供不同的属性编辑方法.前面主要讲如何使用该控件,但有时,该控件无法满足我们的需求,就需要对其进行扩展.本文主要介绍如何在PropertyGrid中添加属性选项卡(PropertyTab).VS自带的属性框有属性和事件两个属性卡,下面简单说明如何添加自己的选项卡. 一.PropertyGrid的组成 在添加选项卡之前,先来看一看PropertyGrid的组成,分析其组成对后面设计十分有用.微软将Prop…
零.引言 前面一篇文章介绍了如何在PropertyGrid中添加属性Tab,本文主要介绍如何添加事件选项卡.事件在许多对象中都有,尤其是在控件中,如何让对象的事件在PropertyGrid中显示出来呢,本文将进行简单的说明. 一.回顾添加属性Tab 在上篇文章中详细的讲解了如何添加属性Tab,这里简单回顾一下: 1.新建一个Tab类并继承于PropertyTab. 2.重写TabName和Bitmap属性以及GetProperties方法. 3.给特定类添加PropertyTab特性或将自定义T…
零.引言 PropertyGrid显示一个对象的属性和事件时,可以设置其默认属性和事件,也就是当你选中对象时,propertyGrid中焦点在哪一个属性或事件上.为对象的属性提供默认值,使PropertyGrid显示属性时,更加友好. 一.默认属性和默认事件 PropertyGrid能识别默认属性和事件,例如在设计时,双击Form框,就会跳到Form的Load事件中,这是因为Form的默认事件是Load.当你选中属性框中的某一项后,该项会着色(蓝色)选中,在属性和事件选项卡之间切换,就会发现,选…
零.引言 PropertyGrid用来显示某一对象的属性,但是并不是所有的属性都能编辑,基本数据类型(int, double等)和.Net一些封装的类型(Size,Color等)可以编辑,但是对于自己定义的类型属性,是不能编辑的,本文主要讲述如何为自定义类型作为属性时,在PropertyGrid中进行编辑,以及进行设计时序列化,本文主要参考MSDN,错误和不足之处还望指正. 一.自定义类属性 在PropertyGrid中能够编辑的都是.Net中自己封装的类,如果在一个类中有一个属性是我们自己定义…
一.引言 PropertyGrid是Visual Studio中新增的控件,顾名思义,其主要是用来显示和设置某一(或多个)对象的属性值的.其具体的实现主要是基于.Net中强大的反射机制.PropertyGrid功能十分的强大,本人能力有限,集MSDN及丰富的网络资源,略窥一斑,虽晓之甚少,亦不敢掩藏,呈之于文,抛砖引玉. 二.PropertyGrid基本功能 1. PropertyGrid简介 使用PropertyGrid非常简单,这得感谢微软的技术大牛们,控件已经封装的非常完美,拿来就用,以下…
HelloWorld分析: 1."resource"文件夹 该文件夹主要用于存放游戏中需要的图片.音频和配置等资源文件. 2."include"和"source"文件夹 这两个文件夹用于放置游戏头文件和源代码文件. 3."AppDelegate.h"和"AppDelegate.cpp"文件 这两个文件是Cocos2d-x游戏的通用入口文件,类似于一般Windows工程中主函数所在的文件. 打开"A…
找IPA文件 开发模式ipa文件和发布模式ipa文件,路径不同. http://www.itnose.net/detail/6101808.html 一.开发模式Development 不需要真机,可以编译生成文件.生成的文件在mac 虚拟机PAServer目录里,windows工程文件夹里没有. RAD IDE>Open project>Target Platforms>ios simulator,F9 mac>Finder/Users/tt/PAServer/scratch-d…
近期赶时髦升级了win10,用着挺爽.但是某天在测试一个bug时发现要对win10做特殊处理,于是直接调用了GetVersionEx,并取出版本号进行判断,但是发现得到的版本竟然是6.2.当时就被雷到了,然后看了我们的其它产品中相关功能,皆获取的是6.2. 在搜索一会儿之后,发现这是微软故意做的设定,GetVersionEx函数可能在Win8.1之后会取消,推荐程序员们使用Version Helper APIs ,所以在8.1之后的系统中此函数的行为改变了,如果程序没有加上正确的manifest…
等我以后挣钱了一定买正版! 最近学习Win32编程,为了锻炼自己,在网上下载了一个VC6.0作为开发工具,应该是兼容性的问题吧,VC6 经常闹毛病. 今天导入资源的时候VC6出现崩溃的现象. 马上寻求度娘 很多人说是因为Office 2007 或者Office 2010所致,奈何又不想卸掉2010,只好据需寻找其他方法,没想到还真的找到了! 原来这是微软的一个Bug,在这里已经有说明了:http://support.microsoft.com/kb/241396/en-us 并且提供了解决办法,…
七天学会NodeJS NodeJS基础 什么是NodeJS 有啥用处 如何安装 安装程序 编译安装 如何运行 权限问题 模块 require exports module 模块初始化 主模块 完整示例 二进制模块 小结 代码的组织和部署 模块路径解析规则 包(package) index.js package.json 命令行程序 Linux Windows 工程目录 NPM 下载三方包 安装命令行程序 发布代码 版本号 灵机一点 小结 文件操作 开门红 小文件拷贝 大文件拷贝 API走马观花…
Hello world分析 1. “resource”文件夹 用于存放图片.音频和配置等资源文件.为了方便管理,可以创建在其中创建子文件夹.Cocos2d-x为我们屏蔽了不同平台对于文件路径的定义. 2. “incluce”和“source”文件夹 这两个文件夹用来存放游戏头文件和源代码文件.项目模板为我们添加的三个文件分别为”main.h”,”main.cpp”和”resource.h”,它们是平台相关的程序文件,为Window专有. 通常情况下,程序入口与资源文件管理在不同平台下是不同的,但…
自定义类在PropertyGrid上的展示方法 零.引言 PropertyGrid用来显示某一对象的属性,但是并不是所有的属性都能编辑,基本数据类型(int, double等)和.Net一些封装的类型(Size,Color等)可以编辑,但是对于自己定义的类型属性,是不能编辑的,本文主要讲述如何为自定义类型作为属性时,在PropertyGrid中进行编辑,以及进行设计时序列化,本文主要参考MSDN,错误和不足之处还望指正. 一.自定义类属性 在PropertyGrid中能够编辑的都是.Net中自己…
十進制轉換成十六進位 IPV6為十六進位,所以十進制轉換成十六進位192=c0 168=a8192.168.1.1 轉成 16 進制為 c0.a8.01.01可以使用 Windows 工程版或是程式設計師版的小算盤來換算 簡寫規則 IPv4轉成IPv6應該是前面全部為零,後面兩兩一組改成16進位 -> 0000:0000:0000:0000:0000:0000:c0a8:0101 寫這麼多 0 一定會寫錯,所以有簡寫的規則,規則如下: 每 32Bit 如開頭之4bit表示為0,即可省略,若32B…
 Contents: 1.配置文件(通常以 ini 结尾) 2.makefile文件 (Linux) PS: 这篇文章的内容,不太理解. 一.配置文件 本文以一个实际的小软件为例,介绍了C语言中配置文件的读取方法和重要的文件操作函数的使用方法,为相关软件开发项目提供了有益的参考 参考链接:让你提前认识软件开发(12):配置文件读取及文件操作 CSDN博客 https://blog.csdn.net/zhouzhaoxiong1227/article/details/23552667 2.4本文中…
CMake与MSVC工程化实践 CMake基础 cmake无疑是最流行的c++跨平台构建工具之一,关于cmake入门指南这里不再赘述,官方文档是最好的参考,这里通过一个例子简述构建一个工程常用的函数和变量. 假设此项目有三个文件hello.h.hello.cpp.main.cpp,hello.h和hello.cpp导出一个void hello();的函数,在main.cpp中使用,CMakeList.txt如下: # 指明当前CMake的版本不能小于指定版本 cmake_minimum_requ…
找IPA文件 开发模式ipa文件和发布模式ipa文件,路径不同. http://www.itnose.net/detail/6101808.html 一.开发模式Development 不需要真机,可以编译生成文件.生成的文件在mac 虚拟机PAServer目录里,windows工程文件夹里没有. RAD IDE>Open project>Target Platforms>ios simulator,F9 mac>Finder/Users/tt/PAServer/scratch-d…
Cocos2dx源码赏析(1)之启动流程与主循环 我们知道Cocos2dx是一款开源的跨平台游戏引擎,而学习开源项目一个较实用的办法就是读源码.所谓,"源码之前,了无秘密".而笔者从事的也是游戏开发工作,因此,通过梳理下源码的脉络,来加深对Cocos2dx游戏引擎的理解. 既然,Cocos2dx是跨平台的,那么,就有针对不同平台运行的入口以及维持引擎运转的"死循环".下面,就分别从Windows.Android.iOS三个平台说明下Cocos2dx从启动到进入主循环…
近期赶时髦升级了win10,用着挺爽.但是某天在测试一个bug时发现要对win10做特殊处理,于是直接调用了GetVersionEx,并取出版本号进行判断,但是发现得到的版本竟然是6.2.当时就被雷到了,然后看了我们的其它产品中相关功能,皆获取的是6.2. 在搜索一会儿之后,发现这是微软故意做的设定,GetVersionEx函数可能在Win8.1之后会取消,推荐程序员们使用Version Helper APIs ,所以在8.1之后的系统中此函数的行为改变了,如果程序没有加上正确的manifest…
文章来自:http://www.cocos2dres.com/view.asp?id=90 1. 准备工作: android NDK    r8版本 ADT Bundle 下载地址:http://developer.android.com/sdk/index.html 2. 下载后安装,这一步就不多说了 3.将cocos2d-x中的testcpp工程导入 4.Eclipse中 配置NDK编译环境 首先选择Window->Preferences,做如下设置: 选择项目,然后选择菜单中的Projec…
最近在学习传智播客吴超老师的Hadoop视频,里面他在讲解RPC通信原理的过程中给了一个RPC的小例子,但是自己编写的过程中遇到一个小错误,整理如下: log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).log4j:WARN Please initialize the log4j system properly.log4j:WARN See…
1 简介   MinGW,是Minimalist GNUfor Windows的缩写.它是一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合,允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时(C Runtime)库.MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时(C Runtime)库(MSVCRT.DLL),该库在所有的 NT OS 上有效,在所有的 Windows 95发行版…
有话说,由于公司项目部署需要,将Windows工程迁移到Linux,通过调查确定使用Ubuntu的Linux操作系统.那么如何快速搭建和Windows一样快捷方便的开发环境就很重要了.本文讲述如何在一个ubuntu系统上搭建SVN版本控制工具,SVN版本号为1.9.3. 第一步,安装代码管理工具svn(由于是局域网,我们为了实现多人共享代码,使用svn进行代码管理) 执行命令#svn info,显示如下说明该系统未安装SVN工具 根据提示,继续执行命令#sudo apt install subv…