搜档网
当前位置:搜档网 › win32程序cocos2d-x打包apk,无需cygwin

win32程序cocos2d-x打包apk,无需cygwin

win32程序cocos2d-x打包apk,无需cygwin
win32程序cocos2d-x打包apk,无需cygwin

前期准备

1.下载cocos2d-x(https://www.sodocs.net/doc/a82538717.html,/projects/cocos2d-x/wiki/Download),这里选择cocos2d-x-

2.1.5,解压在:E:\cocos2d-x-2.1.5

2.下载已配置好安卓开发环境的工具(https://www.sodocs.net/doc/a82538717.html,/sdk/index.html)

这里选择https://www.sodocs.net/doc/a82538717.html,/android/adt/adt-bundle-windows-x86_64-20130729.zip

这个工具解压在:D:\android

3.下载NDK,这里选择(https://www.sodocs.net/doc/a82538717.html,/android/ndk/android-ndk-r8b-windows.zip)android-ndk-r8b,解压放在D:\android\android-ndk-r8b

4.下载安装Python2.7,安卓在C:\Python27

5.下载安装jdk

配置环境变量

(1)NDK_ROOT:D:\android\android-ndk-r8b

(2)Path:(在原有的值的后面加入)D:\Program Files\Java\jdk1.6.0_45\bin;C:\Python27 创建cocos2d-x项目

1.打开cmd,转到cocos2d-x项目所在盘符E:

2.输入命令cd E:\cocos2d-x-2.1.5\tools\project-creator,转到项目create_project.py所在目录

3.输入命令python create_project.py -project MyTestProject -package cn.sulianqi.test -language cpp MyTestProject为项目名称cn.sulianqi.test为安卓工程包名

4.打开E:\cocos2d-x-2.1.5\projects,发现里面有我们刚建好的项目MyTestProject,至此项目搭建完成。

(注:这里搭建的是个空项目,只有HelloWord图片场景,实际打包的是自己现有的项目,所要包自己项目中Classes文件夹下的文件拷贝到新建好的这个项目的文件夹中,Resources也一样,等下经过安卓工程编译还有在E:\cocos2d-x-2.1.5\projects\MyCocos2d\proj.android目录下多出个assets 文件夹,到时候别忘了把Resources里面的文件拷贝到assets文件夹,否则打包会找不到资源)

导入安卓工程

1.打开D:\android\eclipse下的eclipse

2.打开之后在eclipse的菜单中File>>Import>>然后弹出小窗口

3.同样方法导入libcocos2dx库项目,所在目录E:\cocos2d-x-2.1.5\cocos2dx\platform\android 配置安卓工程

1.这时项目是报错的,Cannot run program "bash": Launching failed

这时需要右键项目属性打开配置 ${NDK_ROOT}/ndk-build.cmd

2.配置cocos2d-x的路径

在include$(BUILD_SHARED_LIBRARY)下面加入以下配置,如果路径按我的配置就默认用下面两句

$(call import-add-path, E:/cocos2d-x-2.1.5)\

$(call import-add-path, E:/cocos2d-x-2.1.5/cocos2dx/platform/third_party/android/prebuilt)\

保存之后错误消失

3.配置项目没报错了还没完,我们要让安卓工程知道我们要它编译哪些cpp文件,所以还得加入以下配置,把LOCAL_SRC_FILES这句替换成以下三句

FILE_LIST := hellocpp/main.cpp

FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)

LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

完成

至此,右键项目>>Run As>>Android Appliction,看控制台没报错(有些Warning不要紧滴),在编译我们的cpp代码来,yes!恭喜你成功了!

(注:这里模拟器跑不了的可以把安卓工程bin目录下生成的apk拷到手机上安装,或者有360手机助手的双击就可以安装了)

附Android.mk 文件

LOCAL_PATH := $(call my-dir)

include$(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

FILE_LIST := hellocpp/main.cpp

FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)

LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes

LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static

LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static

LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static

LOCAL_WHOLE_STATIC_LIBRARIES += chipmunk_static

LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static

include$(BUILD_SHARED_LIBRARY)

$(call import-add-path, E:/cocos2d-x-2.1.5)\

$(call import-add-path, E:/cocos2d-x-2.1.5/cocos2dx/platform/third_party/android/prebuilt)\ $(call import-module,cocos2dx)

$(call import-module,cocos2dx/platform/third_party/android/prebuilt/libcurl)

$(call import-module,CocosDenshion/android)

$(call import-module,extensions)

$(call import-module,external/Box2D)

$(call import-module,external/chipmunk)

Win32 Application和Win32 console Application的区别

好久不用VC++6.0写程序,今天测试个简单的算法居然遇到了如下链接错误:Linking... LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16 Debug/1.exe : fatal error LNK1120: 1 unresolved externals Error executing link.exe. 上网查了下原来是Win32 Application和Win32 console Application的区别带来的,以前都没注意过这方面的问题。 开始我建立的工程是Win32 Application类型的,后来改为建立Win32 console Application类型的工程编译就没问题了。 网上还有其他的解决方法: 解决方法是: 将project-settings-link的project options里的 /subsystem:windows 改成 /subsystem:console 原因:Win32 Application的入口函数为WinMain Win32 Console Application的入口函数是main 换句话说,如果你编写传统的C程序,必须建立Win32 Console程序,但VC里面默认的是Win32 Application,于是上面提及的链接错误就就经常出现了 而Win32 Application和Win32 Console的区别就在于VC里链接参数不同 扩展知识: Win32 Application 就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的…… 一般的应用软件窗口就是这个范畴的.它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。 而 Win32 Console Application(win32控制台应用程序)往往是像MS-DOS 窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它;或者叫CUI(Character User Interface字符用户接口)。有几种常见错误发生时,很可能就是建错工程的原因.下面介绍几个常见的错误. Win32 application 是基于WINDOWS平台的32位开发环境开发应用程序,SDK程序。 Win32 Console application 是基于DOS开发平台开发

c语言串口通信范例

一个c语言的串口通信程序范例 分类:技术笔记 标签: c语言 串口通信 通信程序 it 最近接触一个项目,用HL-C1C激光位移传感器+易控组态软件完成生产线高度跳变检测,好久没有接触c c#,一些资料,找来做个记录,也许大家用的着 #include #include #include #include #define COM232 0x2f8 #define COMINT 0x0b #define MaxBufLen 500 #define Port8259 0x20 #define EofInt 0x20 static int comportaddr; static char intvectnum; static unsigned char maskb; static unsigned char Buffer[MaxBufLen]; static int CharsInBuf,CircIn,CircOut; static void (interrupt far *OldAsyncInt)();

static void interrupt far AsyncInt(void); void Init_COM(int ComPortAddr, unsigned char IntVectNum, int Baud, unsigned char Data, unsigned char Stop, unsigned char Parity) { unsigned char High,Low; int f; comportaddr=ComPortAddr; intvectnum=IntVectNum; CharsInBuf=0;CircIn=0;CircOut=0; f=(Baud/100); f=1152/f; High=f/256; Low=f-High*256; outp(ComPortAddr+3,0x80); outp(ComPortAddr,Low); outp(ComPortAddr+1,High); Data=(Data-5)|((Stop-1)*4); if(Parity==2) Data=Data|0x18; else if(Parity==1) Data=Data|0x8; outp(ComPortAddr+3,Data); outp(ComPortAddr+4,0x0a);

C语言设计Win32程序(附C语言设计QQ登陆界面实例)

用C语言设计Win32程序(附C语言设计QQ登陆界面实例) C语言的基本语法我是不打算再提了,很多C语言编程的书,就是将一些基本的数据类型、数据结构、语法,然后就是一些数值计算的实例,大多数都是雷同的,难免有抄袭之嫌,而且也没有多少实用价值。 本书以实用实例作为编程指导,指引大家编写真正实用的程序。了解到大家对黑客程序、病毒、窗口类程序比较感兴趣,因此我就拿这些实例进行讲解。基于大家基本都用Windows XP SP3,我也就在这个系统上把程序调试成功后再给大家讲解。编程环境,我还是喜欢Visual C++ 6.0 本书计划从四个大的方面来讲,这四个方面是:窗口类、文件操作类、网络类、数据库类。 都是时下流行的编程必备技术,也是软件开发者,必须掌握的技术。中间以实例讲解,逐步学习,相信大家看完后会有很大的提高的。 第一章窗口类程序的编写 这一章就先来讲解下窗口类程序的编写。因为现在程序没有界面,就像人没有脸面一样,而且好的界面更能吸引人。从基本的界面开始,相信能给大家指明出一条路的,使大家很容易地掌握窗口序的编写。其实界面设计利用VC 6.0 的MFC,很容易地制作出来。这里从底层开始写代码来写界面程序,使大家知道一些底层的东西,为以后学习打下好的基础,相信您学了这些,再用VC 的MFC会得心应手的。 1.1用C 写的第一个一个窗口程序 作为编程的开始,我们还是以一个Hello World来开始我们的学习之旅。代码如下: #include void main() { printf("Hello World!"); } 这是一个再简单不过的C程序了,只要有点C语言的知识就能够懂的,不过这里估计还有些人,到现在还不知道#include 中的头文件stdio.h到底是什么东西,我就来说下了,stdio.h是一个文本文件,存在于磁盘上的,已VC为例它的位置如下图:

c语言串口通信范例

c语言串口通信范例 This manuscript was revised by the office on December 22, 2012

一个c语言的串口通信程序范例 标签:分类: 最近接触一个项目,用HL-C1C激光位移传感器+易控组态软件完成生产线高度跳变检测,好久没有接触c c#,一些资料,找来做个记录,也许大家用的着 #include <> #include <> #include <> #include <> #define COM232 0x2f8 #define COMINT 0x0b #define MaxBufLen 500 #define Port8259 0x20 #define EofInt 0x20

static int comportaddr; static char intvectnum; static unsigned char maskb; static unsigned char Buffer[MaxBufLen]; static int CharsInBuf,CircIn,CircOut; static void (interrupt far *OldAsyncInt)(); static void interrupt far AsyncInt(void); void Init_COM(int ComPortAddr, unsigned char IntVectNum, int Baud, unsigned char Data, unsigned char Stop, unsigned char Parity) { unsigned char High,Low; int f; comportaddr=ComPortAddr; intvectnum=IntVectNum; CharsInBuf=0;CircIn=0;CircOut=0; f=(Baud/100);

关于WIN32WINNT的含义

关于_WIN32_WINNT的含义 (2011-02-28 14:41:44) 转载 从Visual C++ 2008 开始,Visual C++ 不支持面向Windows 95、Windows 98、Windows ME 或Windows NT。如果您的WINVER或_WIN32_WINNT宏被指定到这些Windows 版本之一,则需要修改宏。当升级从Visual C++ 的以前版本创建的项目时,如果将WINVER或_WIN32_WINNT宏指定到不再受支持的Windows 版本,可能会看到与这些宏相关的编译错误。 若要修改宏,请在头文件中添加以下行: #define WINVER 0x0500 #define _WIN32_WINNT0x0500 这将以Windows 2000 操作系统为目标。其他有效值包括0x0501(用于Windows XP)、0x0502(用于Windows Server 2003)和0x0600(用于Windows Vista)。 需要你自已在stdafx.h头文件中定义。编译器根据此宏来确定windows的版本,如果你需要使用高版本的WIN32函数,只有你定义了此宏后才能使用 Windows XP _WIN32_WINNT>=0x0501 Windows 2000 _WIN32_WINNT>=0x0500 Windows NT 4.0 _WIN32_WINNT>=0x0400 Windows Me _WIN32_WINDOWS=0x0490 Windows 98 _WIN32_WINDOWS>=0x0410 Internet Explorer 6.0 _WIN32_IE>=0x0600 Internet Explorer 5.01, 5.5 _WIN32_IE>=0x0501 Internet Explorer 5.0, 5.0a, 5.0b _WIN32_IE>=0x0500 Internet Explorer 4.01 _WIN32_IE>=0x0401 Internet Explorer 4.0 _WIN32_IE>=0x0400 Internet Explorer 3.0, 3.01, 3.02 _WIN32_IE>=0x0300 VC6 使用基础◆一、VC6 + XPSP2 SDK 使用方法:当我们在VC6 中写这样的代码:CString buffer1, buffer2;buffer1.Format("_WIN32_WINNT=%x", _WIN32_WINNT);buffer2.Format("WINVER=%x", WINVER);MessageBox(buffer1, buffer2, MB_OK);SetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE, GetWindowLong(this->GetSafeHwnd(), GWL_EXSTYLE) ^ WS_EX_LAYERED);SetLayeredWindowAttributes(this->GetSafeHwnd(), 0, 127, LWA_ALPHA);编译不能通过,这是为什么呢?VC6 是98 年出来的,对Win2k 系统上才有的API 无法直接调用。虽然我们可以动态调用DLL 的方式来使用它的API,但是这样很不方便。升级SDK 可以解决以上问题,目前所知,仅有两个版本支持VC6,一个是Server2003 SDK,另一个就是XPSP2 SDK ,可以查阅我前面写的Microsoft Platform SDK 的文章,里面有它们的下载地址。我在XP 系统上使用VC,所以这里下载XPSP2 SDK 。SDK 安装完成后,在“开始菜单\程序\Microsoft Platform SDK for Windows XP SP2\Visual Studio Registration\” 里可以找到Register PSDK Directories with Visual Studio 项,它能将SDK 中的头文件和库文件目录配置到VC6 的头文件和库文件搜索目录项中。但是,这样做完后还不能使VC 直接调用Win2k API。这是因为目前在SDK 里,头文件中使用_WIN32_WINNT来标识可使用的API 函数集。它的取值不同,可使用的API 函数范围也不同。我们在

“不是有效的Win32应用程序”之解决办法

不是有效的Win32应用程序刚刚把系统从win7换回了XP,发现有很多问题,XP的速度真的比win7慢很多。废话不多说了,本来想用flash播放器打开swf文件,哪知道弹出了以下的框 框: 以前都可以正常打开,为什么今天会这样呢?是不是与新系统有关?群里没人能回答我,决定百度一下,我不知道的,百度果然知道,呵呵~~看了以下的文章就解决问题了,今天有增长知识了 一、如果是文件打不开,请按照如下方法: 1、双击“我的电脑”,打开之后,点菜单下:工具——文件夹选项 2、会弹出一个对话框,找到文件的扩展名称,如JPG ,点下面的“高级”(有的朋友说,在这儿找不到“高级”这个按钮,但有个“还原”,你点一下“还 原”,“高级”按钮就出来了)

3、接着又弹出一个对话框,点“编辑” 4、点“浏览”

5、这一步,定位到你要打开该文件(如JPG文件)的应用程序安装盘下**.exe,接着一直确定就可以了 二、如果是应用程序无法打开,可用下面的方法: 1、双击“我的电脑”,打开之后,点菜单下:工具——文件夹选项

2、会弹出对话框,点“新建” 3、弹出对话框,文件扩展名后面输入 .exe,然后点“高级”

4、在下面的框里面选中“应用程序”——确定 三、有的朋友还反映,说文件的图标变成其它文件的图标,在此也分享一下自己的经验。 1、双击“我的电脑”,打开之后,点菜单下:工具——文件夹选项 2、会弹出一个对话框,找到文件的扩展名称,如DWG ,点下面的“高级”(有的朋友说,在这儿找不到“高级”这个按钮,但有个“还原”,你点一下“还原”,“高级”按钮就出来了)

创建基于 Win32 的应用程序 (C++)

Visual C++ 指导教程 创建基于Win32 的应用程序(C++) Visual Studio 2010 其他版本 5(共7)对本文的评价是有帮助评价此主题 更新:2010 年12 月 本演练演示如何创建基于Win32 的简单基本应用程序,该应用程序在窗口中显示“Hello, World!”。您可以使用在此演练中开发的代码作为创建其他基于Win32 的应用程序的模式。 Win32 API(也称为Windows API)是用于创建Windows 应用程序的基于C 的框架。有关Win32 API 的更多信息,请参见Windows API。 重要事项 为了可以更加清楚地说明本文档内各步骤中的特定代码段,我们可能会省略一个有效应用程序所必需的某些代码语句,例如include 指令和全局变量声明。本文档末尾的示例一节显示了完整代码。系统必备 若要完成本演练,您必须了解C++ 语言的基础知识。如果您是刚开始学习C++,建议您参阅Herb Schildt 编写的“C++ Beginner's Guide”(《C++ 初学者指南》),MSDN 网站上的初学者开发人员学习中心提供了该指南。 有关视频演示,请参见Visual Studio 2008 文档中的Video How to: Creating Win32 Applications (C++)(视频帮助:创建Win32 应用程序(C++))。 创建基于Win32 的项目 1.在“文件”菜单上,单击“新建”,然后单击“项目”。 2.在“新建项目”对话框的左侧窗格中,单击“已安装的模板”,单击“Visual C++”,然后选择 “Win32”。在中间窗格中,选择“Win32 项目”。 在“名称”框中,键入项目名称,例如win32app。单击“确定”。

cocos2d-x Win32 Android 环境配置手册

COCOS2D-X配置手册(Win32、Android) 编制:刘勤熙李育 完成日期:2012-1-19

目录 1. 引言 (3) 2. cocos2d-x Win32环境配置 (3) 2.1 win32开发环境配置 (3) 2.1.1 Visual Studio 2008 (3) 2.1.2 cocos2d-x (3) 2.1.3 (可选)Visual Assist X (3) 2.1.4 (可选)doxygen (4) 2.2 Win32 可执行文件生成过程 (5) 2.3 常见问题总汇 (7) 3 cocos2d-x Android 环境配置 (8) 3.1 android开发环境配置 (8) 3.1.1 Eclipse 3.7.1 (8) 3.1.2 Eclipse ADT插件 (8) 3.1.3 Eclipse CDT插件 (10) 3.1.4 AndroidSDK (12) 3.1.5 AndroidNDK (13) 3.1.6 Cygwin (13) 3.2 Android可执行文件生成过程 (15) 3.2.1 前期准备 (15) 3.2.2 生成Android空工程 (15) 3.2.3 交叉编译so文件 (15) 3.2.4 生成android系统可用的apk文件 (16) 3.3 常见问题汇总 (18) 4其它 (18)

1.引言 略…… 一切需要的软件及插件版本号以笔者使用为准,其它版本号的软件及插件不保证有效。文件下载地址在2012-1-19确认有效,不保证因各种原因导致下载地址失效。 开发平台操作系统为win32(WindowsXP、WindowsVista、Windows7) 2.cocos2d-x Win32环境配置 2.1 win32开发环境配置 2.1.1 Visual Studio 2008 安装VisualStudio2008,默认安装即可,如果是自定义安装,VisualC++组件应选中。 2.1.2 cocos2d-x 1. 下载cocos2d-x引擎最新版 官方下载地址为:https://www.sodocs.net/doc/a82538717.html,/p/cocos2d-x/downloads/list (当前使用版本为cocos2d-1.0.1-x-0.10.0.zip) 2.将cocos2d-1.0.1-x-0.10.0.zip解压缩至硬盘任意目录(建议 D:\Work7\cocos2d-1.0.1-x-0.10.0\, 因为现在wophone的开发环境必须安装至此, 以下以此为例) 3. 如果想查看引擎源代码,可以在.\cocos2dx\proj.win32目录下找到代码配置文件。 2.1.3 (可选)Visual Assist X 用来提高VisualStudio2008的工作效率, 可以安装此工具。 安装支持VS2008版本的任意一版,无需配置。本软件是收费软件,需要注册。 技巧:如果不想让V AX对注释中的拼写进行校正(即去掉单词下面的波浪线提示),可以选择Visual Assist X Option,进行如下配置:

创建 Win32 应用程序

创建Win32 应用程序(C++) Win32 API(也称为Windows API)是用于创建Windows 应用程序的基于C 的框架,自Windows 1.0 以来就已存在。在Windows API中可以找到有关此API 的大量文档。 在本过程中,我们将创建向窗口显示“Hello, World!”的简单Win32应用程序。过程中的步骤对于所有Win32 应用程序都是相同的。完成此过程后,您可以将这里创建的代码用作创建任何其他Win32 应用程序的主干。 创建新的Win32 项目 1.在“文件”菜单上,单击“新建”,然后单击“项目...”。 2.在“项目类型”窗格中,选择“Visual C++”节点中的“Win32”,然后在“模板”窗格中选择 “Win32 项目”。 键入项目的名称,如win32app。您可以接受默认位置、键入一个位置或者导航到要保存项 目的目录。 3.在“Win32 应用程序向导”中,选择“下一步”。 4.在“Win32 应用程序向导”中,在“应用程序类型”下选择“Windows 应用程序”。在“附加选 项”下选择“空项目”。原样保留剩余的选项。单击“完成”创建项目。 5.在“项目”菜单中选择“添加新项...”,将C++ 文件添加到项目中。在“添加新项”对话框中选 择“C++ 文件(.cpp)”。为文件键入一个名称,如GT_HelloWorldWin32.cpp,并单击“添加”。 启动Win32 应用程序 1.正如您所了解的,每个C 和C++ 应用程序必须具有一个main函数。此函数是应用程序 的起始点。类似地,在Win32 应用程序中,每个应用程序必须具有一个WinMain函数。 WinMain的语法如下所示: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow); 2.因为应用程序代码必须使用现有的定义,所以应将include 语句添加到文件中以使用它们。 例如: #include #include #include #include 3.除WinMain外,每个Win32 应用程序还必须具有第二个函数(通常称为WndProc), 它代表窗口过程。WndProc的语法如下所示:

解决office2007打开文件时显示不是有效的win32应用程序

前几天安装了office2007,可是在打开低版本的DOC XLS 和PPT的文件时会显示 再右击打开方式里也没有出现Microsoft Office word2007,Microsoft Office excel2007,Microsoft Office PowerPoint 2007。所以打开文档的时候就只能先打开软件,后点击“打开”去找文档。 在网上找了好多方法,有说是有病毒,有说要重装软件,还有的说要改注册表,但是最后还是没有解决我的问题。 由于2007版的外观较美观,没舍得卸载,就一直在研究这个问题。几天后偶然的机会问题解决了。 我用的是win7的系统,只提供参考,解决不了你的具体问题请见谅。 在首次安装的时候只要把把下图的两个取消掉,不进行安装,就可以解决问题了。

最后安装好了,右击大开方式就应该有Microsoft Office word2007,Microsoft Office excel2007,Microsoft Office PowerPoint 2007,这样一切问题就解决了。 如果是已经安装后,发现不能用,也不必卸载,直接右击选择“更改”

再选择“不可用”取消此安装就可以了。 这个方法是解决了我的问题,如果帮你解决了,那就高兴吧,否则请见谅。。

母亲的眼神是那么的慈爱,自打儿女呱呱坠地起,那一抹温柔的眼眸,就有如一道无形的细线,系在儿女的身上,儿女走到哪里,母亲的牵挂就延伸到哪里。冬天怕儿女冻着了,夏天怕儿女热着了;晴天怕儿女晒着了,雨天怕儿女淋着了…… 担忧似乎就是母亲的专利,操心好像就是母亲的代名词。俗话说得好“儿行千里母担忧”,若想让母亲不为儿女担忧,不为儿女操心,那似乎是毫不可能的事。所以,母亲就习惯性地用她那无言的牵挂,默默地守护着自己的儿女,寸步不离。 无论什么时候,母亲都不会嫌弃自己的儿女,不会置自己的儿女于不顾。母亲像蜡烛,燃烧自己,只为照亮儿女的人生路;母亲像雨伞,挡住狂风暴雨的吹打,只为给儿女一份温暖;母亲像孺子牛,用自己的血汗,哺育儿女茁壮成长。 母亲是山,总能包容儿女的过错;母亲是水,总能涤尽儿女心灵的污垢;母亲是树,总想为儿女洒下一片阴凉;母亲是路,总是尽力为儿女铺就一条阳光大道。 儿女的生日唯有母亲不会忘记,儿女打个喷嚏唯有母亲会在意,儿女的喜好唯有母亲能铭记在心,儿女的点点滴滴就是母亲的整个世界。 母亲的一辈子好像就是为儿女而生,为儿女而活。一天天、一月月、一年年、一辈子,母亲不停歇地为儿女操劳,用她那无声的母爱,缔结母子情缘,生生不息。

用C编写的RS232串口通信程序

void main() { delayms(100); init(); //初始化系统 delayms(100); init_wdt(); //初始化看门狗 while(1) { while(!RI_0) //是否收到数据 { clr_wdt(); } RI_0=0; //清除接收中断标志 buffer=S0BUF; if(buffer==0x5a) //检测祯头0 start0=1; if(buffer==0x54) //检测祯头1 start1=1; if(buffer==0x5a) //检测祯尾0 end0=1; if(buffer==0xfe) //检测祯尾1 end1=1; if((start0==1)&(start1==1)) { buff[i]=buffer; //从祯头1开始存储数据 i++; } if((end0==1)&(end1==1)) //是否已经接收祯尾 { count=i; //数据长度为count个 i=1; if((buff[2]==0x03)&(count==107)) //是否422指令 { buff[0]=0x5a; //重填祯头0 buff[count-4]=0; //校验和清零 for(k=2;k<(count-4);k++) //计算校验和 { buff[count-4]+=buff[k]; } for(k=0;k

S0BUF=buff[k]; while(!TI_0); //等待发送完成 TI_0=0; //清除发送中断标志 } reset(); } else if((buff[2]==0x05)&(count==7)) //是否AD测试指令 { sendad(); reset(); } else if((buff[2]==0x18)&(count==7)) //是否发送时序信号指令 { sendpaulse(); reset(); } else //如果接收错误,则恢复各标志位为初始状态以便下次接收 { reset(); } } } } void reset() { start0=0; //祯头祯尾标志位清零 start1=0; end0=0; end1=0; for(k=0;k

WimTool是基于WIMGAPI SDK开发的Win32程序

WimTool是基于WIMGAPI SDK开发的Win32程序 一、基本介绍 1、WimTool并不是Imagex的GUI,可以脱离Imagex而独立使用。 2、WimTool能提供普通用户对WIM格式文件最常用的处理功能,如制作映像文件、挂载映像、解开Wim映像到硬盘的目录和向现存的Wim文件加入新的映像卷等。 3、在WimTool中,对Wim文件进行操作处理时,界面元素给用户提供了相当的显示信息,对Wim文件最常见的处理出现失败时,WimTool会提供失败的说明。 4、WimTool界面采用分页式设计,每页都提供了必要的操作说明、选项要求和注意事项。初次使用的用户请先阅读每页的操作说明。 二、运行环境 Win2K/WinXP/Win2K3/Vista/Win 7及它们相应的PE系统,在上述系统中安装199或WimMount组件后可以使用全部功能, 如果没有安装WimFltr或WimMount组件,只需一个位于同目录中的WIMGAPI.DLL文件也可使用大部分常用功能。 三、功能简介 WimTool集成了处理Wim文件的以下常用功能。 1、支持制作不同压缩类型的映像文件。在制作新的映像文件时,用

户可给新的映卷指定映卷名称和映卷描述,并加上启动标记,同时用户可以在WimTool中指定压缩类型。 2、支持向现有的映像文件添加新的映卷,并可指定新映卷的名称和描述,并加上启动标记。 向现有映像文件添加新的映像卷时,WimTool会自动检测原映像文件的压缩类型,并使新加入的映像卷与之匹配。 3、支持挂载和卸载Wim文件。用WimTool挂载Wim文件时,用户可以选择指定的映像文件和挂载目录,同时也可指定挂载方式(是否可写或只读)。 4、支持向硬盘解开(应用)Wim文件中指定的映像卷,包括解开分割包。WimTool解开Wim文件时会自动检测用户指定的Wim是否属分割包,并将其它分包系列也解开到指定目录。 5、支持将单一的大体积Wim文件按指定大小分割,分包文件既支持WimTool解开也支持Imagex解开;也支持将一组分割包合并成单一的Wim映像文件。 6、支持将某Wim文件中存在的映像卷导入到另一个Wim文件中。导入映像卷的目标Wim文件既支持Imagex操作,也支持WimTool 操作,如挂载、解开等。 7、支持从已有的Wim文件中删除已有的映像卷条目。 8、支持查看Wim文件基本属性和详细信息,如映卷名称、映卷描述、压缩类型、映像卷数目、是否属分割包等。 9、支持列出系统所有挂载的Wim映像及其挂载目录、挂载方式等。

白手起家Win32SDK应用程序

《白手起家Win32SDK应用程序》(1-4篇)-[※文章学习区] 2007年10月10日 1说在前面 由于VC6及MFC的特点,我们许多人从标准C++学习到VC6MFC应用程序的编程学习的过度会有一个很大的夸跃,从而感到非常的吃力。 究其原因之一:MFC类库设计虽然精巧,但我们在使用MFC设计程序时,会发现MFC到处是API 函数的影子。MFC并没有象Delphi的VCL类库,VB的控件库一样封装得让人几乎完全不用知道还有Win32API函数及其操作原理,所以要想利用VC6的MFC编程,我认为就一定要先学习如何直接用Win32API函数来编程。对API编程中的一些关键的概念和原理要有一定认识,这样才会有一个比较平滑的过渡。以上就是我写这个系列的初衷。 2我假设你已有的知识: 这里我假设你已经掌握了如下的知识,如果你在如下方面知识有点不太清楚,那要去补一补罗,否则你看到相关的内容时会有麻烦的。 下面说是我对你知识的假设: 2.1Windows系统的文件、文件夹、路径的概念 2.2C语言的基本知识(基本以等级考试二级C语言为准,还要有所扩充) 2.2.1指针的概念。 2.2.2函数指针概念。 2.2.3各种自定义类型(最重要的是struct类型)的概念。

2.2.4要知道函数的各种参数传递形式(值、地址、引用传递)。 2.2.5typedef及其应用。 2.2.6#include及其应用。 2.2.7十进制、二进制、十六进制。 2.2.8按位与、或、非运算的实质。 2.2.9宏定义概念、使用及意义。 (每个人总是学完了C或C++语法后才会开始用VC6进行Windows编程学习的。但是你的基础又是如何呢?这是一个关键。因此我对你的C知识做了具体的假设。) 2.3会安装VC6.0并安装到一台机上 2.4VC6编译界面的各组成部分及基本操作(至少会用VC6写控制台程序)。 2.5VC6调试中至少要会设置断点哦。 (呵呵!我的要求不过份吧!) 3还必须预备的知识: 以上知识是你看本系列的前提,不过我还要给你预备一下我们再这个阶段学习中会遇到的新东西。 3.1你将会接触到的Win32API函数库: 以前的DOS下或Windows的控制台程序下,你要在显示器上输出文字,要用printf(),或cout 的函数对象来完。但如果你要显示一个图形或图象或为你的程序设计一个图形化的操作界面等等的,那可就惨了,一切都要你自已完成。复杂得很了!(唉!谁叫DOS是字符界面的操作系统呢!)

用C语言编写串口程序

用C语言编写串口程序 在当今,流行的编程软件种类繁多,它们编程方便、易于维护,但是在与硬 件直接打交道和编制系统软件时却束手无策,于是C语言就有了用武之地。C语言作为汇编语言与高级语言之间的一种过渡语言,兼有汇编语言的高效和高级语言 的方便。 在通讯中,为了保证行运安全可靠,标准的串行口必须具有许多握手信号和 状态信息。这是因为通讯的各个计算机CPU速度不一样(这会导致“错帧”)以 及发送机发送数据速度比接收机接收速度快(这会导致“过冲”)。为解决这个 问题,我们采用一个简单的握手信号,即发送机每次仅发送半个字节(低4位) 的数据,而另外半个字节(高4位)则用来传送信息。我们可以对信息位(高4位)进行如下简单的编码: 0H:发送的是新的半个字节数据 1H:重新发送上次传送错误的数据 2H:文件名结束 3H:文件结束 这样,每当发送机发送一个字节以后,就等待接受机发回送信号,这回送信号就 是发送机发送过来的那个字节。发送机接收到回送信号后,把它与刚发送的字节 相比较,如果相同,就发送新的半个字节,否则就重新发送。新数据与旧数据通 过信息位来区分。下面就是用C语言编写控制串行口的程序。 #include "dos.h" #include "stdlib.h" #include "stdio.h" #define PORT 0 void SendFile(char *fname); /* 发送文件*/ void Send(int s); /*发送一个字节*/ void SendFileName(char *fname); /*发送文件名*/ void ReceiveFile(); /*接收文件*/ void GetFileName(char *f); /*接收文件名*/ void InitPort(int port,unsigned char para); /*初始化端口*/ void SendPort(int port,char c); /*端口发送*/ int ReadPort(int port); /*读端口字节*/ int CheckState(int port); /*检查端口状态*/ int Receive(int port,int *G); /*接收一个字节*/ main(int argc,char *argv[]) { if(argc<2){ printf("Please input R(receive) or S(sent) parametre:"); exit(1); }

图解硬盘安装64位(32位)WIN7的方法,解决各种安装出错的问题

准备工作: 空白U盘1个 下载64位win7 ISO镜像光盘文件 下载老毛桃PE工具:(下载地址:https://www.sodocs.net/doc/a82538717.html,/) 下载NT6 HDD Installer v3.1.4(下载地址:https://www.sodocs.net/doc/a82538717.html,/soft/23306.html) 安装步骤: 1、首先用老毛桃PE工具制作启动U盘。 2、把开机第一启动项设置为光盘启动或者U盘启动,并进入PE系统;对硬盘分区和格式化(必须为NTFS 格式)。 3、将下载的64位win7 ISO镜像光盘文件,右键用Winrar把它解压在某个盘内根目录,如E盘根目录; 4、安装NT6 HDD INSTALLER 重启电脑,选择nt6 hdd installer mode1,选择安装 然后就进入了平时熟悉的安装界面了。不用多说,直接下一步 啊,可以开始安装WIN7了,等等!! ~~~~~绝对不要点击中间的现在安装,那样只会无限地轮回在失败中,我们点击左下角的“修复计算机”

然后会出现搜索Windows安装字样,稍释喝茶,让滚动条慢慢跑 这时会出现对话框,问你是否修复并重新启动,如果你点了修复,那么恭喜你将会再次看到vista界面或者XP的蓝天白云,这当然是我们不愿意发生的,所以毅然决然地点“否”。

接下来选则第一项,进行“下一步” 出现选择恢复工具对话框,我们选择“命令提示符”

又见到亲切可爱的黑底白字,下面我们运行光盘镜像sources文件夹中的setup.exe文件,此处根据大家镜像解压的位置不同会有相应的改变,比如偶的就输入d:\win7\sources\setup 回车即进入安装界面 继续下一步后,会出现安装类型的选项,这里根据个人情况选择升级还是自定义,因为偶是要全新安装win7,所以选择“自定义(高级)”按钮。自此,选择升级类型的路线的朋友剧情结束,下面开展选择自定义安装的剧情。

用C语言做Win32程序

C语言的基本语法我是不打算再提了,很多C语言编程的书,就是将一些基本的数据类型、数据结构、语法,然后就是一些数值 计算的实例,大多数都是雷同的,难免有抄袭之嫌,而且页没有多少实用价值。 本书以实用实例作为编程指导,指引大家编写真正实用的程序。了解到大家对黑客程序、病毒、窗口类程序比较感兴趣,因此我就拿这些实例进行讲解。基于大家基本都用Windows XP SP3,我也就在这个系统上把程序调试成功后再给大家讲解。编程环境,我还是喜欢Visual C++ 6.0 本书计划从四个大的方面来讲,这四个方面是:窗口类、文件操作类、网络类、数据库类。 都是时下流行的编程必备技术,也是软件开发者,必须掌握的技术。中间以实例讲解,逐步学习,相信大家看完后会有很大的提高的。 第一章窗口类程序的编写 这一章就先来讲解下窗口类程序的编写。因为现在程序没有界面,就像人没有脸面一样,而且好的界面更能吸引人。从基本的界面开始,相信能给大家指明出一条路的,使大家很容易地掌握窗口序的编写。其实界面设计利用VC 6.0 的MFC,很容易地制作出来。这里从底层开始写代码来写界面程序,使大家知道一些底层的东西,为以后学习打下好的基础,相信您学了这些,再用VC 的MFC会得心应手的。 1.1 用 C 写的第一个一个窗口程序 作为编程的开始,我们还是以一个Hello World来开始我们的学习之旅。代码如下: #include void main() { printf("Hello World!"); } 这是一个再简单不过的C程序了,只要有点C语言的知识就能够懂的,不过这里估计还有些人,到现在还不知道#include

C语言串口通信助手代码

该程序全部由C写成没有C++ 更没用MFC 完全是自娱自乐给需要的人一个参考 #include "stdafx.h" #include #include "resource.h" #include "MainDlg.h" #include #include #include HANDLE hComm;//用于获取串口打开函数的返回值(句柄或错误值)OVERLAPPED m_ov; COMSTAT comstat; DWORD m_dwCommEvents;

TCHAR cRecs[200],cSends[100]; //接收字符串发送字符串 char j=0,*cCom; //接收用统计数据大小变量端口选择 BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); } return FALSE; } /*系统初始化函数*/ BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { HWND hwndCombo1=GetDlgItem(hwnd,IDC_COMBO1); ComboBox_InsertString(hwndCombo1,-1,TEXT("COM1")); ComboBox_InsertString(hwndCombo1,-1,TEXT("COM2"));

Win32 API应用程序框架结构简

Win32 API应用程序框架结构(2) 1.3.3 头文件的类型 与传统的C程序一样,在程序的开始都会包含头文件,并在程序中会有对调用函数的申明。在每一个用C编写的Windows程序中,都会用到一个头文件WINDOWS.H。其实,WINDOWS.H只是一个包含文件,包含了其他的Windows头文件。当然,在这些被包含的头文件中也可能还包含着其他的Windows头文件。这些头文件中最重要的有如下几种。 ●WINDEF.H:基本类型的定义。 ●WINNT.H:支持Unicode的类型定义。 ●WINGDI.H:图形设备接口的定义。 ●WINUSER.H:用户接口的定义。 ●WINBASE.H:内核函数的定义。 ●WINSOCK.H和WINSOCK2.H:用于网络通信的套接字的定义。 在这些头文件中,定义了Windows提供的所有数据类型、常数标识符、函数原型和数据结构等,都是Windows文档中最重要的部分。在Visual C++的Include 子目录中可以找到所有的头文件。 1.3.4 函数和数据结构 在C语言中有一个入口函数main,在Windows应用程序中同样也有一个入口函数WinMain,它的原型在WINBASE.H中声明,如下所示: int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance, LPSTR lpCmdLine, int nShowCmd); 其中,第一个参数被称为“实例句柄”,该句柄惟一地标识了该程序,其他Windows 函数可以通过将该句柄作为参数来调用该程序;第二个参数只是为了与早期的版本相兼容,在32位Windows程序中,该概念已经不再被采用,所以总是设置为NULL;第三个参数用于运行程序的命令行,可以通过它将文件在程序启动时载入内存;第四个参数表示程序在运行时是以何种方式显示的(从正常、最大化和最小化中选一)。 在程序Hello中,除了用到WinMain函数外,还用到了以下的API函数。

相关主题