Win32 Application和Win32 console Application的区别

合集下载

devcpp_教程

devcpp_教程

前言对于现在越来越多得关于编程方面得问题和商业公司对版权问题的担心。

所以向各位推荐一款类似于VC的IDE。

这款IDE所使用的编译程序是 GCC的Win32版本 Mingw32。

而IDE本身也是GPL协议的产物。

所以,不论是商业用户,还是个人用户都能够自由的使用她,而不必为使用盗版软件而提心吊胆的。

另外,由于Mingw32是GCC的Win32版本。

所以,也为Win32的程序员可以了解一下Unix和类Unix下的编程感觉。

而且,Mingw32对Win32函数的支持也是很不错的。

希望,我们的Mingw32之旅可以带给你快乐。

介绍有关Dev-Cpp的介绍,我在这里不想多做解释。

因为下面会具体的介绍和讲解的。

我在这里只是想要介绍一下有关GCC的内容。

因为,Dev-Cpp所使用的Mingw32是一款GCC编译器。

所以,对GCC的了解有助于使用Dev-Cpp。

gcc.exe这是一个C语言的编译器,负责编译C语言。

这个也许大家都知道。

不过,在这里我要先向大家说明一下。

gcc只是一个C语言的编译器。

不能识别C++代码。

所以,以前所说的gcc可以编写C++是一个误传。

因为,我们通常所说的GCC不是gcc.exe而是GCC的一套程序。

其中就包括可以编译C++语言的g++.exe如果,你不确定这个gcc的版本,可以用如下的命令查看。

gcc -v关于编译,gcc可以通过命令符编译。

gcc source.c -o binary以上的命令,是让gcc直接由.c代码编译成可执行代码。

也可以这样。

gcc -c source.c -o code.ogcc code.o -o binary这样就生成了一组二进制代码,然后在通过二进制代码生成可执行程序。

g++.exe刚才已经说过了,这个是一个用于编译C++代码的程序。

基本用法和gcc一样。

所以这里不再介绍了。

只是让各位了解一下,这个程序是编译C++代码的。

gdb.exe用于调试程序的。

如何建立一个Win32 Console程序

如何建立一个Win32 Console程序

如何建立一个Win32 Console程序注:本文中涉及的某些专有名词,请以后上课听老师的讲解,这里不再一一作解首先新建一个工程(也就是一个新程序),如图一:选择需要创建Win32 Console Application程序,并填上工程名(Project Name),这里我用myezwin作为工程名(名字随便起,是由你定的),点确定。

如图二:建立一个空的程序即可,点[Finish]。

如图三:之后,你会看到如下一个对话框(Dialog Box),显示与这个工程有关的一些信息(读读它上面写的英文就知道了)。

不管它,点OK即可。

如图四:建好工程(Project)后,还需要建一个程序的源文件(C++ Source File)。

从菜单(menu)选择[Fils]->[New…](如图一),接着选择C++ Source File,并将Add to project打上小勾(将你新建的文件加入特定的工程,一般这一步已经默认),然后给你的文件起个名字,这里就叫main吧,最后OK完成。

如图五:All right,程序建立完成,你可看到如图六的情况。

好,我们来写一个简单的程序试试。

如图七:程序内容:#include <iostream>using namespace std;int main(){cout << "Hello world!" << endl;return 0;}接下来,编译并连接(Compile and Link,也叫Build)你的程序。

如图八:图八的位置所在如下图所示:OK,运行你的程序看看吧。

关闭一个工程:如图九。

工程关闭后,你就可以建立其它的工程编写别的程序了。

Author: KasiDate: 2003.7.14Revision: 2003.10.8。

安装、使用vc遇到的问题及解决

安装、使用vc遇到的问题及解决

感言:真是久病成良医啊!1. C语言中出现 "Compiling... Error spawning cl.exe是什么意思?怎么解决?很多人在安装VC 6.0后有过点击“Compile或者“Build后被出现的"Compiling... ,Error spawning cl.exe错误提示给郁闷过。

很多人的选择是重装,实际上这个问题很多情况下是由于路径设置的问题引起的,"CL.exe是VC使用真正的编译器(编译程序),其路径在“ VC根目录Bin ”下面,你可以到相应的路径下找到这个应用程序。

因此问题可以按照以下方法解决:打开vc界面点击VC “TOOLS (工具)”一> “Optio n选择)”—> “ Directories(目录)"重新设置“ Excutable Fils Include Files、Library Files、Source Files的路径。

很多情况可能就一个盘符的不同(例如你的VC装在C,但是这些路径全部在D),改过来就OK 了。

如果你是按照初始路径安装VC6.0的,路径应为:executatble files:C:\Program Files'Microsoft Visual Studio'Commo n\MSDev98\Bi nC:\Program Files'Microsoft Visual Studio\VC98\BINC:\Program Files'Microsoft Visual Studio'Commo n'TOOLSC:\Program Files'Microsoft Visual Studio\Commo n\TOOLS\WINNTin clude files:C:\Program Files'Microsoft Visual Studio\VC98\INCLUDEC:\Program Files'Microsoft Visual Studio\VC98\MFC\INCLUDEC:\Program Files'Microsoft Visual Studio\VC98\ATL\INCLUDElibrary files:C:\Program Files'Microsoft Visual Studio\VC98\LIBC:\Program Files'Microsoft Visual Studio\VC98\MFC\LIBsource files:C:\Program Files'Microsoft Visual Studio\VC98\MFC\SRCC:\Program Files'Microsoft Visual Studio\VC98\MFC\INCLUDEC:\Program Files'Microsoft Visual Studio\VC98\ATL\INCLUDEC:\Program Files'Microsoft Visual Studio\VC98\CRT\SRC如果你装在其他盘里,则仿照其路径变通就行。

devcpp_教程

devcpp_教程

前言对于现在越来越多得关于编程方面得问题和商业公司对版权问题的担心。

所以向各位推荐一款类似于VC的IDE。

这款IDE所使用的编译程序是 GCC的Win32版本 Mingw32。

而IDE本身也是GPL协议的产物。

所以,不论是商业用户,还是个人用户都能够自由的使用她,而不必为使用盗版软件而提心吊胆的。

另外,由于Mingw32是GCC的Win32版本。

所以,也为Win32的程序员可以了解一下Unix和类Unix下的编程感觉。

而且,Mingw32对Win32函数的支持也是很不错的。

希望,我们的Mingw32之旅可以带给你快乐。

介绍有关Dev-Cpp的介绍,我在这里不想多做解释。

因为下面会具体的介绍和讲解的。

我在这里只是想要介绍一下有关GCC的内容。

因为,Dev-Cpp所使用的Mingw32是一款GCC编译器。

所以,对GCC的了解有助于使用Dev-Cpp。

gcc.exe这是一个C语言的编译器,负责编译C语言。

这个也许大家都知道。

不过,在这里我要先向大家说明一下。

gcc只是一个C语言的编译器。

不能识别C++代码。

所以,以前所说的gcc可以编写C++是一个误传。

因为,我们通常所说的GCC不是gcc.exe而是GCC的一套程序。

其中就包括可以编译C++语言的g++.exe如果,你不确定这个gcc的版本,可以用如下的命令查看。

gcc -v关于编译,gcc可以通过命令符编译。

gcc source.c -o binary以上的命令,是让gcc直接由.c代码编译成可执行代码。

也可以这样。

gcc -c source.c -o code.ogcc code.o -o binary这样就生成了一组二进制代码,然后在通过二进制代码生成可执行程序。

g++.exe刚才已经说过了,这个是一个用于编译C++代码的程序。

基本用法和gcc一样。

所以这里不再介绍了。

只是让各位了解一下,这个程序是编译C++代码的。

gdb.exe用于调试程序的。

VC怎样隐藏控制台窗口

VC怎样隐藏控制台窗口

自己的总结:平台:Windows Sever2003环境:Visual Studio 2008在项目属性中如下两步操作:【链接器】——【系统】——【子系统】:/SUBSYSTEM:WINDOWS 【链接器】——【高级】——【入口点】:mainCRTStartupVC++ 隐藏控制台程序窗口大家都知道,当编写一个win32 console application时,当运行此类程序的时候默认情况下会有一个类似dos窗口的console窗口,但是有的时候我们只想在程序中运行一段功能代码,不希望显示这个console窗口,让代码执行完毕之后程序自动退出.下面就介绍一下,如何隐藏win32 console application的console窗口因为此种方法是通过设置编译器的链接开关来实现,所以让我们来看一下编译器的链接开关选项(也就是linker选项).首先我们来看一下linker的/subsystem 选项该选项的语法形式如下:/subsystem:{console|efi_application|efi_boot_service_driver|efi_rom|efi_runtime_driver|native|posix|windows|windowsce}[,major[.minor]]这个链接选项告诉操作系统如何运行可执行文件console:win32 字符模式应用程序,此种类型的应用程序在运行的时候会产生一个类似dos窗口的控制台窗口,如果在应用程序的主函数为main()或者wmain(),在默认情况下该应用程序就是一个控制台应用程序extensible firmware interface和cpu具体架构相关的一个参数选项,并不常用,在这里暂不详细介绍.如果对此有兴趣的可以访问intel主页来查看相关内容native;设备驱动器选项,如果/driver:wdm选项被设定的话,该链接选项(native)就为默认选项posix:在windows nt 种运行在posix子系统上的应用程序windows:该类型的应用程序不产生console窗口,该类型的应用程序的窗口由用户自己创建,简而言之就是一个标准的win32 application,其入口地址为winmain()函数或者wwinmain()函数的地址如果你在应用程序种定义的主函数为winmain或者wwinmain,在默认情况下该应用程序就是一个win32 application !windowsce:运行在windows ce上的应用程序major and minor (optional):主版本号和次版本号,该选项为可选,该选项为0~65535之间的十进制整数从上面可以看出如果我们建立一个win32 console application的话,linker的/subsystem选项应该为console,可以在vc开发环境的project->setting->link->project option中看到!接下来我们再看看应用程序是如何运行的!我们知道用vc编写的程序,运行的时候是需要cc 运行库支持的.当我们运行一个c/c 程序的时候链接器会首先寻找应用程序的启动函数,例如:如果你建立了一个console程序的话,编译器得链接开关会是以下这种形式/subsystem:console /entry:maincrtstartup (ansi)/subsystem:console /entry:wmaincrtstartuup (unicode)如果你建立了一个win32 application,编译器得链接开关则会是一下形式/subsystem:windows /entry:winmain (ansi)/sbusystem:windows /entry:wwinmain (uincode)上面的两种形式可以再project->setting->link->project option中看到上面的subsystem和entry并不需要都设置,如果你只设置了/subsystem:console的话,那么默认的entry开关在默认情况下应为/entry:maincrtstartup反之,如果你在应用程序中定义了main函数的话,默认情况下,你的/subsystem开关应该为/system:console在默认情况下/subsystem 和/entry开关是匹配的,也就是console对应maincrtstartup或者wmaincrtstartupwindows对应winmain或者wwinmain但是我们也可以通过手动改动的方式使他们不匹配例如我们可以这样改动#pragma comment( linker, /subsystem:windows /entry:maincrtstartup ) // 设置入口地址int main(int argc, char* argv[]){messagebox(null, hello, notice, mb_ok);return 0;}在默认情况下链接器看到/subsystem下是windows选项的时候,它会自动寻找winmain 或者wwinmain但我们强制指定入口地址,这样运行程序的时候默认的console窗口就会隐藏!上面是在代码中使用#pragma指令来设置,还有一种就是直接在开发环境的project->setting->link->project option中手工改动!写了这么多,自己都有点感觉乱,没有办法,以前没写过什么文章,所以措辞可能不太好,希望大家见谅。

win32 application和win32 console application

win32 application和win32 console application

Windows操作系统经历了无数次变革。

在这些变革的过程中,已经创建了很多类型的应用程序(包括16位和32位),这些应用程序都在该系统下运行,16位的应用程序将被淘汰,我们现在经常提到的是Window9x或WindowsNT应用程序,即我们常说的Win32,那么什么是Win32应用程序呢?其实有很多类型的Win32应用程序,从传统程序到控制台应用程序以及动态链接库(DLL),甚至包含ActiveX控件,它们是用户可以给应用程序 Web页及ActiveX Desktop添加的编程组件。

1.传统的Win32应用程序这样的应用程序拥有人们期望在一个功能完备的应用程序中所得到的所有特征,包括框架、菜单栏、工具栏和状态栏。

我们每天经常用到的应用程序和我们用开发系统开发出来的大多数应用程序都属于这类型。

要编写Win32应用程序,必须和Windows操作系统打交道,这就意味着一定要创建响应Windows消息的应用程序和必须遵循创建图形用户界面的规则。

2. Win32控制台应用程序控制台应用程序(console applications)。

控制台应用程序像老式的DOS 程序,除了其框架窗口外,它只显示文本信息。

控制台应用程序往往被用作简短的实用程序。

在有些编程环境还使用控制台窗口显示错误消息和其他信息,它的好处是在执行的任务中,用户不必创建窗口类、管理消息映射以及绘制到设备描述表等。

3.动态链接库动态链接库(Dynamic Link Library)不是完整的程序或可执行文件。

相反,它是一个函数库,可以在系统的其他模块中对这些函数进行调用。

由于动态链接库不是应用程序,所以从本质上讲它很少有可见的部分,且不接受任何Windows 消息。

在某些其它模块(如应用程序)明确地加载DLL或调用DLL中的一个函数之前,DLL甚至不被加载到内存。

“动态”意味着函数库在编译时不链接到其他模块中,而在运行时被链接。

使用动态链库的最大好处是:很多模可以共享同一个库,而不必在编译时将模块库链接起来,这样做即节省空间,又节省内存。

什么是控制台应用程序(ConsoleApplication)?

什么是控制台应用程序(ConsoleApplication)?

什么是控制台应⽤程序(ConsoleApplication)?控制台应⽤程序是⼀种没有图形⽤户界⾯(GUI)的计算机应⽤程序,设计为只使⽤键盘命令进⾏操作。

许多早期的操作系统都是在这种模式下运⾏的,直到后来公司才开始开发GUI操作系统以便于使⽤。

控制台是?⿊⾊的这个窗⼝就是控制台了那应⽤程序呢?就是显⽰的⽂字指令和输⼊的⽂字指令构成的⼀个对话功能怎么完成对话?Console.WriteLine();⽤来输出将()内的字符串显⽰在控制台⾥⾯字符串就是多个字符形成的⼀句话或⼀个词需要⽤“”包围起来Console.ReadLine();⽤来输⼊获取控制台内的⼀⾏输⼊输⼊内容默认为字符串格式string是字符串类型的关键字将从控制台获取的字符串存到string类型的s中Console.Write();也是⽤来输出与Console.WriteLine()的不同在于它输出后不会换⾏⽽Console.WriteLine()输出后会换⾏此外Console.WriteLine及Console.Write还提供格式化输出⽅式使⽤{}占位,将""号后⾯的值放⼊对应位置输出{}号内的值与,号后⾯的位置对应{}内值从0开始,对应,号后⾯的第⼀个位置上的数并逐个递增强调{}内的数字对应的是,号后的位置⽽不是,号后的数字可见0对应的是,号后第⼀个位置上的数所以输出3+3⽽1对应的是,号后第⼆个位置上的数所以输出4在格式化输出过程中{}内数字从0开始并且逐个递增后⾯的数字个数可以多余{}内的数值但不能少于吐槽:格式化输出可以理解为排队结账你⼿⾥可能有多个东西需要买单但都是你付钱“”内的数值是你排队的序号只不过序号从0开始依次递增排队的⼈从,号后⾯开始⼆者形成对应关系所以只要“”号内出现了你的序号都是你签字付钱有号就必须有⼈但有⼈不⼀定拿了号。

在VC6.0中编写和运行示例程序的方法

在VC6.0中编写和运行示例程序的方法

在VC6.0中编写和运行示例程序的方法1. 启动VC 6.0,选择菜单File|New …,在打开的对话框中,选择“Win32 Console Application ”, 如下图所示。

输入项目名称之后按下“OK ”。

2. 在随后打开的对话框中选择“An empty project ”, 然后按下“Finish ”。

3. 在随后打开的“New project information”对话框中,按下“OK”。

4. 现在已建立了一个空白的控制台程序。

将示例程序的某个*.CPP文件和common.h复制到你的project所在的文件夹下。

5. 选择VC窗口的“File view”,右击“Source files”,在弹出的菜单中选择“Add Files to Folder”。

如下图所示。

6. 接下来指定示例程序的*.CPP文件,使之出现在“Source Files”下面。

7. 类似地,将示例程序中的Common.h文件加入到“Header Files”下面。

8. 现在可以编译、运行了。

9. 如果你在build时出现如下错误:Linking...LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16Debug/DuList.exe : fatal error LNK1120: 1 unresolved externals则说明编译连接时找不到程序入口(main函数),这是微软的问题,不是我们的错误。

解决的办法是:选择菜单Project | settings…,在打开的对话框中选择标签“Link”,在其中的“Project Options”编辑框中,找到“subsystem: windows”,将其改为“subsystem: console”,如下图所示,然后按下“OK”。

10. 重新编译、运行。

你可以在示例程序的基础上按习题要求编写程序,然后运行、调试直至成功。

win32console用法

win32console用法

win32console用法Win32 控制台简介Win32 控制台是一个在 Windows 操作系统中低级 API,用于与控制台进行交互。

它提供了一系列函数,使开发者能够创建、管理和操作文本控制台窗口。

创建和配置控制台窗口```c++HWND hWnd = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, // 访问权限FILE_SHARE_READ | FILE_SHARE_WRITE, // 共享模式NULL, // 安全描述符CONSOLE_TEXTMODE_BUFFER, // 缓冲区类型NULL // 填充保留);SetConsoleWindowInfo(hWnd, TRUE, &windowRect); // 设置控制台窗口信息```输入和输出操作```c++DWORD numWritten;WriteConsole(hStdout, // 输出句柄"Hello, world!\n", // 要写入的数据13, // 数据长度&numWritten, // 写入的字节数 NULL // 填充保留);DWORD numRead;ReadConsole(hStdin, // 输入句柄buffer, // 读取数据的缓冲区 1024, // 缓冲区大小&numRead, // 读取的字节数NULL // 填充保留);```设置文本属性```c++COORD coord = { 0, 0 };SetConsoleCursorPosition(hStdout, coord); // 设置光标位置SetConsoleTextAttribute(hStdout, FOREGROUND_GREEN | FOREGROUND_INTENSITY); // 设置文本颜色和强度```控制台缓冲区操作```c++COORD bufferSize = { 80, 25 };SetConsoleScreenBufferSize(hStdout, bufferSize); // 设置缓冲区大小SMALL_RECT writeRegion = { 0, 0, 79, 24 };WriteConsoleOutputCharacter(hStdout, ' ', 6400, coord, &numWritten); // 在指定区域填充字符```高级控制台功能Win32 控制台还提供了更高级的功能,例如:事件处理:可以使用 ReadConsoleInput 函数监视控制台输入事件。

Win32程序开发入门:一个最简单的Win32程序

Win32程序开发入门:一个最简单的Win32程序

Win32程序开发⼊门:⼀个最简单的Win32程序⼀、什么是 Win32Win32 是指 Microsoft Windows 操作系统的 32 位环境,与 Win64 都为 Windows 常见环境。

这⾥再介绍下 Win32 Application 和 Win32 Console Application 之间的区别:1、程序不同Win32 Application 是标准 windows 程序,完全拥有 windows 的特性,可以通过⿏标点击窗⼝来完成控制。

Win32 Console Application 是控制台应⽤程序,类似于 MS-DOS 窗⼝,只能运⾏命令⾏程序,不具备消息响应机制。

2、⼊⼝函数不同Win32 Application ⼊⼝函数是 WinMain(),它具有消息响应机制,可以运⾏图形化的 C++ 程序。

Win32 Console Application ⼊⼝函数是 main(),可以访问部分 windows API 函数,如果你编写传统的 C 程序,必须建⽴ Win32 Console 程序。

⼆、最简单的程序创建⼀个 win32 应⽤程序⼯程,功能是显⽰⼀个消息框,随便提⽰⼀些⽂字就可以了。

具体的创建⼯程的步骤可以参考:。

代码如下:#include <Windows.h>int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){MessageBox(NULL,TEXT("随便提⽰⼀些内容就可以了!哈哈哈!"), // 内容TEXT("这⾥是标题!"), // 标题名称0);return 0;}我们再看⼀下效果:接下来我们从头开始剖析这个简单的⼩程序。

三、分析⼀下3.1 头⽂件#include <Windows.h>windows.h 是⼀个最重要的包含⽂件,它囊括了若⼲其他 Windows 头⽂件,其中的某些头⽂件⼜包含另外的⼀些头⽂件。

《Visual C++语言》实验报告

《Visual C++语言》实验报告

《Visual C++语言》实验报告专业班级:电气工程及其自动化实验一熟悉 Visual C++程序调试方法一、实验目的(1) 熟悉Visual C++ 6.0 开发环境;(2) 掌握在Visual C++ 6.0 开发环境调试程序的方法。

二、实验内容(1) 创建三个项目,项目类型分别为:Win32 Console Application、Win32 Application 和MFC AppWizard(exe),分别编译运行各个程序,观察各种项目类型程序的特点。

(2) 创建一个Win32 Console Application 类型的项目,输入下面的代码,按照要求对代码进行调试。

说明:下面的程序求100~1000 以内的水仙花数,所谓水仙花数就是一个三位的整数,其个位数字、十位数字和百位数字的立方和等于该数本身的值,则这个数称为水仙花数。

#include "iostream.h"#include "math.h"void narcissus(); // 求水仙花数void main(){narcissus();}void narcissus(){int x1; // 百位数字int x20; // 十位数字+个位数字int x2; // 十位数字int x3; // 个位数字int count = 0; // 找到的水仙花数的总数for(int x=100; x<1000; x++){x1 = x/100;x20 = x%100;x2 = x20/10;x3 = x20%10;if(x1*x1*x1+x2*x2*x2+x3*x3*x3 == x){count++;cout<<"One narcissus number found:"<<x<<endl;}}cout<<"The total number of narcissus numbers is:"<<count<<endl;}调试要求:1、在程序代码的 main 函数中设置断点,启动程序执行到断点处停止;2、在函数 narcissus 调用处进入函数内部,跟踪函数执行的过程;3、单步执行程序,观察各个变量值的变化情况;4、单步执行若干步后,跳出函数体,回到 main 函数。

《程序设计基础(C++)》实验教程及完整答案

《程序设计基础(C++)》实验教程及完整答案

《程序设计基础》实验教程对于从事计算机行业的人员来说,设计能力是最主要的基本功之一。

入门课程《程序设计基础》的学习效果将直接关系到编程能力的掌握和提高以及后续课程的学习。

然而,实践证明,许多初学者在学习这门课程时的效果并不理想。

对初学者来说,如何学好本课程?首先,要理解教材中所给出的语法描述,并学会按语法规定去编写指定问题的求解程序。

经过这样的多次反复,初学者就可以找到编程的感觉。

除了要学好理论知识外,更重要的一点是要到计算机上去验证,因为只有实践才是检验真理的标准。

只有通过到计算机上去实践,才能发现学习中存在的问题,巩固所学知识,加强解决实际问题的能力,增强信心。

因此,《程序设计基础》课程的上机实验是本课程必不可少的实践环节,必须加以重视。

本课程上机实验的目的是使学生熟悉用高级语言解决实际问题的全过程,加深对语言的理解,得到程序设计基本方法和能力的训练。

在独立编写程序、独立上机调试程序的同时,真正能用高级语言这个工具去解决实际问题,对计算机学科的相关知识有所了解,从而为后续课程的学习奠定良好的基础。

本实验指导所用环境是Visual C++ 6.0及以上版本。

考虑到本课程的内容和特点,设置了十四个实验,每次实验需要两至三小时,分别侧重于教材中的一个方面,其中标有“*”号的习题的综合性较强,可供学有余力的学生选择。

实验时也可根据具体情况做适当调整。

虽然可能由于课时和机时限制等原因而不能在实验课时内全部得到安排,但还是建议学生能将其中的每个实验都能认真做一遍,因为这些实验都是学习本课程所必需的。

学生在做实验之前应仔细阅读本实验指导书,初步掌握实验的基本要求和实验方法。

在实验过程中,学生应该有意识的培养自己调试程序的能力,积累发现问题、解决问题的经验,灵活主动的学习。

对于分析运行结果的实验习题,上机前先进行用人工分析,写出运行结果,与上机调试得到的结果进行对照,如有差异,分析其原因。

对于程序编制的实验习题,上机前应考虑出较成熟的编程思路,有意识提供出多种方案,以灵活运用所学知识和技巧。

VC++6.0教程_C语言_工具

VC++6.0教程_C语言_工具

vc++6.0入门教程步骤是:(先工程—后文件—编译—连接---运行)1 桌面上的快捷方式如下:双击即可运行2 在所有程序里点击也可以运行:3 即会出现如下界面:14 进入后的界面如下:25将每日提示关闭既可:31,建立一个工程,“文件”——“新建”,出现下面界面:选择“Win32 Console Application”(控制台应用程序,左边倒数第三个),命名工程名称,选择保存位置,4点击“确定”,进入下一步,看到如下提示界面:建立一个空工程,对应其他需要的你一可以建立别的工程;点击“完成”,之后:5显示你创建的工程的信息。

2,再在有一个的工程的条件下,我们再建立一个源文件;“文件”——“新建”(快捷键Ctri+N),出现:6建立源文件,选择“C++ Source ”,一般都是建立这种文件的(适用在当文件中适用)如果要建立头文件的话,选择“C/C++ Header File”,(适用在多文件工程中使用)命名,文件名称,点击“确定”,之后:7进入编辑区,在主界面编写代码:如下编写完之后呢:89 可以按编译按钮调试程序,看看有没有错误,有的话改正,没有的话就可以再按连接按钮检查连接(多文件工程时常用,检查文件间是否正常连接),最后,点运行按钮,就可以运行了。

如果是您有代码如:cpp 文件,或 .h 文件,想添加都VC6.0里来测试的话,可以这样做:首先,要理解一下 文件扩展名为:cpp 和.h文件扩张名是.h,代表的是头文件,一般是书写一些函数原型,以及一些在整个程序中常用到的结构体,频繁使用的函数说明,定义等等;文件扩张名为,cpp的,是C++中的源文件,也是最常用到的文件,每建立一个工程都要至少一个源文件(至少要有一个函数入口——主函数main() ),包含了核心代码;建立与运行说明:(以VC 6.0编译器为例,其他编译器类似)首先,打开VC 6.0编译环境;10在菜单栏——文件(的下拉菜单中选择“新建”),在弹出的选择窗口中,选择Win32 Console Application(控制台应用程序) ,在填写工程名称,选择一个程序保存路径,点击“完成”,查看工程信息。

win32 application与win32 console application区别

win32 application与win32 console application区别

很多VC初学者可能会常遇到如下链接错误:
Linking... /subsystem:windows
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
பைடு நூலகம்
Debug/TestWin.exe : fatal error LNK1120: 1 unresolved externals
Win32 Application和Win32 Console Application
都是工作在32位Windows环境的程序。
其中Win32 Application
就是普通的常见的窗口应用程序,当然有的界面做得比较个性化,比如圆形的、不规则形状的……
它们都是所谓的GUI(Graphics User Interface图形用户接口),我们可以通过鼠标点击来完成控制。
1.EXE文件本身有区别:在文件头里(PE头)有一个标记表明该文件是Application还是Console
2.OS在创建对应的进程时,如果是Console,除了载入文件映像并开启进程外(这一点和Application相同),同时创建一个Console对象(就是那个黑黑的窗口)与之关联,而且这种关联是可以编程脱开的.

Win32 Console Application(win32控制台应用程序)
往往是像MS-DOS窗口(XP中叫命令提示符)的样子出现,我们得用键盘输入各种命令来使用它;
或者叫CUI(Character User Interface字符用户接口)。
vc6里Win32 Application和Win32 console Application的区别

pythonwin32apiwin32guiwin32con窗口句柄发送消息常用方法键盘输入

pythonwin32apiwin32guiwin32con窗口句柄发送消息常用方法键盘输入

pythonwin32apiwin32guiwin32con窗⼝句柄发送消息常⽤⽅法键盘输⼊import win32guiimport win32conimport win32api# 从顶层窗⼝向下搜索主窗⼝,⽆法搜索⼦窗⼝# FindWindow(lpClassName=None, lpWindowName=None) 窗⼝类名窗⼝标题名handle = win32gui.FindWindow("Notepad", None)# 获取窗⼝位置left, top, right, bottom = win32gui.GetWindowRect(handle)#获取某个句柄的类名和标题title = win32gui.GetWindowText(handle)clsname = win32gui.GetClassName(handle)# 打印句柄# ⼗进制print(handle)# ⼗六进制print("%x" %(handle) )# 搜索⼦窗⼝# 枚举⼦窗⼝hwndChildList = []win32gui.EnumChildWindows(handle, lambda hwnd, param: param.append(hwnd), hwndChildList)# FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None) ⽗窗⼝句柄若不为0,则按照z-index的顺序从hwndChildAfter向后开始搜索⼦窗体,否则从第⼀个⼦窗体开始搜索。

⼦窗⼝类名⼦窗⼝标题subHandle = win32gui.FindWindowEx(handle, 0, "EDIT", None)# 获得窗⼝的菜单句柄menuHandle = win32gui.GetMenu(subHandle)# 获得⼦菜单或下拉菜单句柄# 参数:菜单句柄⼦菜单索引号subMenuHandle = win32gui.GetSubMenu(menuHandle, 0)# 获得菜单项中的的标志符,注意,分隔符是被编⼊索引的# 参数:⼦菜单句柄项⽬索引号menuItemHandle = win32gui.GetMenuItemID(subMenuHandle, 0)# 发送消息,加⼊消息队列,⽆返回# 参数:句柄消息类型 WParam IParamwin32gui.postMessage(subHandle, win32con.WM_COMMAND, menuItemHandle, 0)# wParam的定义是32位整型,high word就是他的31⾄16位,low word是它的15⾄0位。

C语言多文件课程

C语言多文件课程

建立和运行包含多个文件的程序的方法
方法二: 方法二:用户只建立项目文件 1、编辑好各个源程序文件,并存放在自己指定的目录下。 、编辑好各个源程序文件,并存放在自己指定的目录下。 2、建立项目文件: “文件” →“新建” →“工程” ,选择: 、建立项目文件: 文件” “新建” “工程” 选择: “Win32 Console Application”,输入自己指定的工程的 , 名字及文件目录,选择“创建新工作区” 单击“确定” 名字及文件目录,选择“创建新工作区”,单击“确定”。 在弹出的对话框中选择“ 在弹出的对话框中选择“An empty project”。 。 3、将源程序文件添加项目文件中:“工程” →“添加工程” 、将源程序文件添加项目文件中: 工程” “添加工程” →“Files”,把所需文件添加到项目中。 “ ,把所需文件添加到项目中。 4、编译和连接项目文件:“编译” →“构件” 、编译和连接项目文件: 编译” “构件” 5、执行文件方法一: 方法一:由用户建立项目工作区和项目文件 1、编辑好各个源程序文件,并存放在自己指定的目录下。 2、建立一个项目工作区:“文件” →“新建” →“工作 区” ,输入自己指定的工作区的名字及文件目录。 3、建立项目文件: “文件” →“新建” →“工程” ,选择: “Win32 Console Application”,输入自己指定的工程的名 字及文件目录,选择“添加到现有工作区”,单击“确定”。 在弹出的对话框中选择“An empty project”。 4、将源程序文件添加项目文件中:“工程” →“添加工程” →“Files”,把所需文件添加到项目中。 5、编译和连接项目文件:“编译” →“构件” 6、执行文件

win32 application

win32 application

更新窗口客户区
::UpdateWindow(hwnd); 如果指定窗口的更新区域不为空的话,UpdateWindow函数通过向这个窗 口发送一个WM_PAINT消息更新它的客户区。当窗口显示在屏幕上的时候, 窗口上的客户区被在WNDCLASSEX中指定的刷子擦去了,调用 UpdateWindow函数将使客户区重画,以显示其内容
::DispatchMessage(&msg);
第一个Win32程序 程序 第一个
处理消息的代码
switch(uMsg) { case WM_PAINT: //处理WM_PAINT消息 return 0; case WM_DESTROY: //处理WM_DESTROY消息 return 0; } return ::DefWindowProc(hwnd, message, wParam, lParam); 必须要把所有不处理的消息交给DefWindowProc函数处理,也要把它的 返回值返回给Windows,否则Windows就失去了与应用程序通信的途径, 也就不能再控制窗口的行为了。
消息
处理消息的函数
消息映射
Struct MSGMAP_ENTRY _commandEntries[] = { IDM_ABOUT, OnAbout, IDM_FILEOPEN, OnFileOpen, IDM_SAVEAS, OnSaveAs, };
main是C程序的进入点: int main( int argc, char* argv[]) { ... }
WinMain则是Windows程序的进入点: int CALLBACK WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { ... }

VS嵌入QT后,建立QT工程后printf和cout无效,无法产生控制台应用程序窗口,需设置工程属性

VS嵌入QT后,建立QT工程后printf和cout无效,无法产生控制台应用程序窗口,需设置工程属性

在VC++中使用OpenCV,一般是建立一个win32 console application 项目,当运行此类程序的时候,默认情况下会有一个类似DOS窗口的console窗口,供程序与用户之间交互之用。

但是有时候我们只想在程序中运行一段功能代码,不希望显示这个console 窗口,而是让代码执行完毕之后程序自动退出。

隐藏这种win32 console application 的console 窗口,主要有两种方式:1、通过#pragma指令来修改,即在main函数前添加以下一行代码:#pragma comment( linker, "/subsystem:/"windows/"/entry:/"mainCRTStartup/"" )2、通过设置项目属性来修改,即在Project –> Properties -> Configuration Properties –> Linker -> System 的Subsystem 项中,将Console (/SUBSYSTEM:CONSOLE) 修改为Console (/SUBSYSTEM:WINDOWS) ,这样就把控制台程序窗口隐去了。

上述方法是通过设置编译器的链接开关来实现的,所以让我们来看一下编译器的链接开关选项(也就是linker 选项)。

一、linker 的/subsystem 选项:该选项的语法形式如下:/SUBSYSTEM:{CONSOLE | EFI_APPLICATION |EFI_BOOT_SERVICE_DRIVER |EFI_ROM | EFI_RUNTIME_DRIVER | NATIVE | POSIX | WINDOWS | WINDOWSCE}[,major[.minor]]这个链接选项告诉操作系统如何运行可执行文件。

—— CONSOLE:win32 字符模式应用程序,此种类型的应用程序在运行的时候会产生一个类似DOS 窗口的控制台窗口。

C++6.0介绍

C++6.0介绍

Microsoft Visual C++6.0介绍从2008年4月开始,全国计算机等级考试将全面停止Turbo C2.0(简称TC)软件的使用,所有参加二级C语言、三级信息技术、网络技术和数据库技术上机考试的考生,都要在Visual C++6.0(简称VC)环境下调试运行C程序。

众所周知,VC软件主要是用来开发C++程序的,如何在VC下调试运行C程序,对于众多程序设计者来说,确实是一个新的话题。

VC与TC的差异,主要是体现在程序设计语言C++与C的关系上。

其实,了解计算机程序设计的人都知道,C++是C语言的升级板,VC是在Windows进行C++程序设计的主要软件,VC完全兼容了C的功能,也就是说,在VC下是完全能够进行C语言程序开发。

我以前下载安装过很多次_VC++6.0中文版,但是每次都无法正常安装使用,下面就让我告诉你下载地址吧,保证可以正常使用,我也是偶然碰到的按住ctr点击“全国计算机等级考试C语言上机软件_VC++6.0中文版.rar”安装安装后你可能会出现下面的对话框,在左下角“不再显示此信息”勾上,然后点击“运行程序就”可以了目录1编制并运行一个简单程序 (3)1.1编制并运行程序的“四步曲” (3)1.2工程(P ROJECT)以及工程工作区(P ROJECT W ORKSPACE) (3)1.3启动并进入VC6的集成开发环境 (4)1.4创建工程并输入源程序代码 (5)1.5不创建工程,直接输入源程序代码 (8)1.6编译、链接而后运行程序 (8)1.7及时备份自己的创作 (9)1.8将自己设计的产品提供给他人使用 (9)2VC6集成开发环境使用参考 (10)2.1VC6的常用菜单命令项 (10)2.2VC6的主要工作窗口 (12)3严谨思维,调试程序 (13)3.1什么时候需要对程序进行调试 (13)3.2对程序进行调试的基本手段和方法 (14)3.3对一个简单程序的调试过程 (15)3.4设计合适的程序调试方案 (17)3.5优秀程序员的基本素质——丰富的想象、严谨的思维 (18)4编译与链接过程中常见的出错提示 (20)4.1常见编译错误 (21)4.2常见链接错误 (24)1编制并运行一个简单程序1.1编制并运行程序的“四步曲”让我们用VC6先来编制一个最简单的程序,并让它运行(执行)而得出结果,以此来作为了解VC6的开端。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

好久不用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开发平台开发
应用程序,不能使用与图形有关的函数,控制台程序。

相关文档
最新文档