VS2010 C#只生成exe方法
使用VS2010创建C程序2017
使用VS2010创建C程序1、打开Microsoft Visual Studio 2010→点击“新建项目”创建一个空工程;(或点击文件→新建项目)2.Visual C ++ →“Win32控制台应用程序”→名称输入项目名称→位置:点击浏览选择D盘任意路径→“确定”;3、“下一步”;4、去除“预编译头”,勾选“空项目”,其他默认→“完成”;5、右键单击左侧“源文件”→“添加”→“新建项”;6、选中“C++文件(.cpp)”→新建名为“new.c”的项(注意,务必在名称后面加上.c后缀,这是将按C程序进行编译);7、编写个C程序试试;代码内容:8、然后点击菜单上 调试->开始执行(不调试),编译成功,得到如下结果;(如果没有出现 开始执行(不调试) ,直接按Ctrl+F5 )小贴士:1、如果要另外再写一个C 程序,必须将当前项目关闭,方法:点击文件->关闭当前项目。
然后再从上述的第2步开始写一个新的程序。
2、如果用VS 编译C 程序时,编译框很快就会消失。
如果我们在程序的最后加上一段代码:system(“pause ”);整个代码如下:VS 就能像VC 6.0一样让编译框暂停下来。
3、如果在第5步中没有见到左侧边栏(如图一),则只需将重置窗口布局即可(如图二、三);图一图二图三#include<stdio.h>int main(){printf(" o o\n");printf(" o o o o\n");printf(" o o o o \n");printf(" \n");printf(" \n");printf(" \n");printf(" oooooo \n");return 1;}。
vs2010下运行c语言
1、打开了VS2010的主界面,然后选择,文件→新建→项目
2、在项目类型中选择VC++→win32然后在右侧模板中选择win32控制台应用程序,再在下面输入一个名称(项目名称,不用带.C)选择保存位置后确定
3、弹出个对话框,不管它,下一步
4、接下来注意了,这个对话框中,应用程序类型要选择控制台应用程序,附加选项一定要选中“空项目”。
然后点完成。
5、然后对话框消失,回到VS主界面,这时会在左侧和右侧多了如图工具栏“解决方案管理器”
6、在源文件上点右键,选择“添加→新建项”。
这里注意,如果你已经有写好的C源文件,那么要选择“现有项”
7、又打开个对话框,不管左边的,在右边的模板中选择C++文件,在下面的名称中输入源文件的名字加上.C,保存位置用默认的。
然后点击“添加”
好了,编辑页面出来了,大家可以写代码了
鼠标指针的安装:
在C盘的WINDOWS文件夹里有一个是鼠标指针文件夹[可能是Cursors],里面全部都是系统自带的,你把下载的鼠标指针[如果是RAR文件的话要先解压]文件放进去[其实放在任何位置都可以],然后到控制面板里选择自定义鼠标指针,然后选择你下载的鼠标指针就可以了。
鼠标指针动画文件一般是以cur或ani为后缀名。
解压出来可以直接用图标模式进行查看。
关于vs2010(英文版)编写c文件的问题
用visual studio 2010 英文版编写C文件
总结了很多关于vs2010编写c文件的资料,在网上也看了许多,但是都没有关于vs英文版编写c文件的资料,现在总结如下献给大家,希望能帮助到初学者。
一.打开vs2010,主界面如下。
右上方(有的也在左上方)会有一个solution explorer 如果没有,可以再视图view中打开(后面会有用处的)。
选择solution explorer打开解决方案资源管理器。
二.新建空文件。
点击project进入如下界面:如下选择,同时在name处输入所要创建的文件夹名称及文件夹所处的位置然后ok
进入如下界面:
再next,进入如下界面:
一定要选择empty project空文件,finish之后出现下图。
三.添加C文件。
选择C++file 但是在name处一定要输入后缀为.c的文件名。
完成后如下:
选择如图中的C文件.c打开。
就可以编写程序了。
四:移除新增文件:在solution explorer中点击resource file
进入以下界面:
可重复步骤三继续添加。
谢谢观赏!。
vs2010c课程设计
vs2010 c 课程设计一、教学目标本课程的教学目标是使学生掌握VS2010 C语言的基本语法、数据结构、算法和编程技巧,培养学生运用C语言进行程序设计和解决问题的能力。
具体分解为以下三个层面:1.知识目标:学生需要了解和掌握C语言的基本语法、数据类型、运算符、控制结构、函数、数组、指针、结构体等知识。
2.技能目标:学生能够熟练使用VS2010集成开发环境进行C语言编程,具备良好的编程习惯和代码调试能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣,激发学生主动学习和探索的精神,培养学生的团队合作意识和解决问题的能力。
二、教学内容本课程的教学内容主要包括以下几个部分:1.C语言基础知识:数据类型、变量、常量、运算符、输入输出等。
2.控制结构:顺序结构、分支结构、循环结构等。
3.函数:函数的定义和声明、返回值、局部变量、全局变量、递归等。
4.数组和指针:一维数组、多维数组、指针的概念和运算、指针与数组的关系、指针与函数的关系等。
5.结构体和文件:结构体的定义和使用、文件的打开、读写、关闭等操作。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:教师通过讲解和示范,引导学生掌握C语言的基本概念和编程方法。
2.案例分析法:教师通过分析典型案例,让学生了解和掌握C语言在实际编程中的应用。
3.实验法:学生通过上机实验,动手编写代码,巩固所学知识,培养实际编程能力。
4.小组讨论法:学生分组进行讨论,共同解决问题,培养团队合作意识和沟通能力。
四、教学资源为了支持本课程的教学,我们将提供以下教学资源:1.教材:《VS2010 C语言程序设计教程》。
2.参考书:《C程序设计语言》、《C Primer Plus》等。
3.多媒体资料:教学PPT、视频教程、在线编程练习等。
4.实验设备:计算机、网络环境、编程软件(如VS2010)等。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:教师通过观察学生的课堂表现、参与度、提问回答等情况,评估学生的学习态度和积极性。
vs2010下配置pthread
在VS2010下,用C语言编写pthread多线程程序的配置1、从/pthreads-win32/下载pthread 的windows安装包,我下的是pthread-w32-2-9-1-release.zip,其他版本也可以。
解压到pthread-w32-2-9-1-release。
2、打开vs2010,项目->属性->配置属性->VC++目录,包含目录里添加inlude路径,如下图所示,如果刚下载的压缩包放在D盘,则在包含目录那一栏添加:D:\pthread-w32-2-9-1-release\Pre-built.2\inc lude;在库目录那一栏添加:D:\pthrea-w32-2-9-1-release\Pre-built2\lib3、在链接器—>输入,附加依赖项一栏添加pthreadVC2.lib;pthreadVCE2.lib;pthreadVSE2.lib;如下图所示。
所有设置完成后点确定。
4、打开pthread-w32-2-9-1-release\Pre-built.2\lib\X86,将里面三个*.lib文件复制到你所建立的工程目录中去,这样就设置好了,大功告成。
如下一个简单的程序实例。
#include<stdio.h>#include<stdlib.h>#include<pthread.h>#define NUM_THREADS 4typedef struct{int threadId;}threadParm_t;void *threadFunc(void *parm){threadParm_t *p=(threadParm_t *)parm;fprintf(stdout,"Hello world from thread%d\n",p->threadId);pthread_exit((void *)&(p->threadId));return 0;}int main(int argc,char *argv[]){int i;int *res;res=(int *)malloc(sizeof(int));pthread_t thread[NUM_THREADS];threadParm_t threadParm[NUM_THREADS];for(i=0;i<NUM_THREADS;i++){threadParm[i].threadId=i;pthread_create(&thread[i],NULL,threadFunc,(void *)&threadParm[i]);}for(i=0;i<NUM_THREADS;i++){pthread_join(thread[i],(void **)&res);fprintf(stdout,"Thread %d has exited.\n",*res);}system("pause");return 0;}运行程序得到如下结果。
VS2010 C++错误处理办法
VS2010 C++错误处理办法(转载)vs2010中文旗舰版怎么出现创建新项目失败???你可以试试:开始-> 所有程序-> 附件-> 命令提示符(右键点击一管理员身份运行)。
打开后,再输入Regsvr32 JScript.dll。
错误:1 fatal error C1010: unexpected endof file while looking for precompiled header. Did you forget to add '#include"StdAfx.h"' to your source?#include"StdAfx.h" 你把这个放在头文件里面就行了2 vc++编程出现错误error C2447: missing function header (old-styleformal list?)原因:函数后面多了分号;SUNSHINE_APISSN_RETURN SsnWriteProfileString(__in INT nPlugInId, __in_opt LPTSTRlpszGroupName, __in LPTSTR lpszKey, __in LPTSTR lpszValue);3 errorC2491: 'SsnWriteProfileString' : definition of dllimport function not allowed错误C2491:―SsnWriteProfileString‘:dllimport函数的定义不允许的SUNSHINE_API SSN_RETURNSsnWriteProfileString(__in INT nPlugInId, __in_opt LPTSTR lpszGroupName, __inLPTSTR lpszKey, __in LPTSTR lpszValue)查看SUNSHINE_API在 .h文件中的定义#ifdefSSNAPI_EXPORTS#define SUNSHINE_API __declspec(dllexport)#else#define SUNSHINE_API __declspec(dllimport)#endif将#ifdef SSNAPI_EXPORTS添加到#include<stdafx.h>的下面;形如:#include<stdafx.h>#defineSSNAPI_EXPORTS则解决;4 error C2065: “CString”:未声明的标识符在非mfc下使用CString 会导致上面错误:解决办法:(1)如果你使用那么:使用MFC:包含cstringt.h;不使用MFC:包含atlstr.h(2)或者#include <afx.h>5 error C2065: 'DEBUG_NEW' : undeclared identifier?删除 .cpp 文件中的#ifdef _DEBUG#undef THIS_FILEstatic char THIS_FILE[]=__FILE__;#define new DEBUG_NEW#endif6 问题:error C2440: 'initializing' : cannot convert from 'constchar [34]' to 'TCHAR [128]'错误C2440:“初始化”:不能把'字符常量[34]' ' TCHAR[128]'原因:编译选项有没有开了UNICODE;做法:在vs2010下设置unicode编译选项,去掉unicode模式,具体设置方法为:项目-》属性-》配置属性-》字符集-》未设置project->Properties->ConfigurationProperties->General->Character Set->Not Set /hrh2010/article/details/66812717问题:C1083:Cannot open include file: 'stdafx.h': No such file or directoryC1083:无法打开包括文件:―stdafx.h中‖:没有这样的文件或目录解决:stdafx.h文件和工程的.h文件放在一个位置;8 error C2065: “cout”: 未声明的标识符解决方法:加上#include <iostream>using namespace std;9 错误:error C3872: '0x3000': thischaracter is not allowed in an identifier错误C3872:'0 X3000“:此字符不允许在标识符0x3000是汉语的空格,也就是全角空格,相当于一个汉字,但你又看不见它。
如何使用VS2010编译C程序
如何使用Vi sualStudio 2010(VS2010)编译C语言1.打开VS2010主界面,然后选择,文件→新建→项目,在项目类型中选择VC++→win32然后在右侧模板中选择w in32控制台应用程序,再在下面输入一个名称(项目名称,不用带.C)点击“浏览”选择保存位置后,点击“确定”,弹出个对话框,不管它,下一步。
2.接下来注意了,这个对话框中,应用程序类型要选择控制台应用程序,附加选项一定要选中“空项目”,然后点“完成”,对话框消失。
3.回到VS主界面,这时会在左侧和右侧多了如图工具栏““解决方案管理器”,在源文件上点右键,选择“添加→新建项”。
这里注意,如果你已经有写好的C源文件,那么要选择“现有项”。
4.又打开个对话框,不管左边的,在右边的模板中选择C++文件(注一),在下面的名称中输入源文件的名字加上.C(注二),保存位置用默认的。
然后点击“添加”。
5.好了,编辑页面出来了,大家可以写代码了。
这里可以看到,VS2010可以智能的标示出函数参数和函数体,方便查看和修改。
比VC6.0方便多了。
编好了,然后选择调试,或者直接点绿色小箭头按钮(注三)就可以查看程序运行结果了,最后,别忘了保存。
注释:注一:现在已经基本没有纯粹的C编译环境了,都是用兼容C的C++编译工具来编译C,所以创建的模板是C++模板。
(大家一定还记得VC6.0中大家新建的文件也是C++Source File(C++源文件)吧)注二:加上.C后,编译系统就会知道这个是C源,从而创建的是C的源文件,编译的时候就会调用C编译器。
而不加.C,创建的就是C++的源文件。
编译的时候会调用C++的编译器。
虽然C++兼容C,但是在不同的C++编译环境对C的支持度是不同的,就比如本文中的例子,那句syst em函数就是C专有的,如果采用C++来编译就会出错。
VS2010 环境下实现 C程序调用由 C 源代码编译得到的 DLL 文件
printf("max(%d, %d) = %d\n", a, b, fmax(a, b)); } } FreeLibrary(hLib);
return 0; }
注意以上源代码第 4 行中的标识符 __cdecl 开头是连续两个下划线。 输入源代码后的窗口如图 2.5 所示。然后按 Ctrl+Shift+S 组合键保存所有文件。
7
图 2.3 新建源文件 UseMax.c
图 2.4 空白的源代码编辑器窗口 4. 接上步,在源代码编辑器中输入以下源代码: #include<windows.h> #include<stdio.h> typedef int (__cdecl *FuncPtr)(int a, int b); int main(void) { FuncPtr fmax; HINSTANCE hLib; int a = 3, b = 4;
建项目”对话框中左侧选取“已安装的模板”——“其他语言”——“Visual C++” ——“Win32”,在中间区域点击“Win32 项目”,然后在名称栏中输入 max,并选 择合适的目录保存该项目的有关文件,如图 1.1 所示。然后取消勾选右下角的复选 框“为解决方案创建目录”,最后点击“确定”。
参考资料
1. VS2010 文档——Using Dynamic-Link Libraries
11
图 2.7 成功生成 Release 版的 UseMax.exe 文件 根据图 2.7 中的“输出”窗口的提示可知,已经在路径 D:\_Data\CMP\Lng\CLng\Programs\_CProject\UseMax\Release 下生成了程序 UseMax.exe。 7. 接上步,按 Ctrl+F5 组合键(或点击“调试”菜单下的“开始执行(不调试)”命令),
visualC++2010使用教程
《Visual C++ 2010 入门教程》写在前面在我还在上学的时候,我选择了C++,最初我用VC6 作为我的IDE,我看过很多本C++的教材,有的适合我,有的不适合我,其中有一本叫《Visual C++ 2005 入门经典》的书帮了我不少的忙。
因为通常的C++教材都只会介绍C++的语法什么的,很少会告诉我们如何去编译、运行,告诉我们什么是控制台程序,什么事Win 程序,什么是GUI 程序,C++能干什么,VC 和C++的区别是什么。
现在有很多的朋友应该也有这些问题吧?学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所Щ蟮奈侍獾拇鸢浮<堑梦已 ++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。
接下来我会做一个《Visual C++ 2010 入门教程》系列,用来帮助初学者。
刚开始学的时候是很痛苦的,这个我深有体会,特别是身边还没有人能够指导一二的。
内容主要涵盖在Windows 下面使用C++进行开发的常见内容,Visual Studio 2010 的使用,如何创建新项目,如何调试,如果配置项目属性等等,另外还会介绍Visual C++ 2010 中新加如的一些内容,包括一些新的STL 组建,一些新的语法支持等等。
由于本人水平有限,其中难免有错误,希望大家谅解,如果大家有发现问题还请务必及时指出来,否则误导了他人我就罪不容恕了。
注意,本教程非C++教程,不会教你C++,只会教你如何使用Visual C++ 2010 去练习去学习其它C++教材上面的程序。
因此建议大家认真的去看其他的C++教程,在使用Visual C++ 2010 实践的时候如果遇到问题可以到这里来参考。
推荐《C++Primer》、《C++程序设计语言》《Visual C++ 2008入门经典》。
VS2010 C++环境下DLL和LIB文件目录及名称修改
LL工程,Debug版本下输出文件由basetool.dll basetool.lib 改为basetoolD.dll basetoold.lib 需设置:1、配置属性-常规-目标文件名$(ProjectName) 加d2、配置属性-连接器-常规-输出问件由加d3、配置属性-连接器-高级-导入库,设置文件名$(OutDir)$ProjectName)d.lib4、如果有导出文件,.def文件中也一定要修改导出库的名字LIBRARY "BaseTool"变为LIBRARY "BaseToold"关于相对目录相对目录是相对某个文件而言的,例如在VC项目属性配置附加包含目录、附加库目录则是相对*.dsp、*.vcproj文件而言的;在某个*.c、*.cpp文件中使用#include包含命令,是相对这个*.c、*.cpp文件而言的。
当前目录是可见的,一般直接引用文件名(夹)对于子文件夹可以添加“./”。
..:父目录../include:父目录下的include目录../..:祖父目录/include:祖父目录下的include目录-----------------------------------------------------C/C++附加包含目录和VC++目录包含目录区别?连接器常规附加库目录和VC++目录库目录区别?连接器-输入-附加依赖项附加依赖项是指输入项,如某个.LIB文件a.lib,添加到附加依赖项,你的LIB文件被真正包含进来了。
等同于“#pragma comment(lib, "winsock.lib") ”语句附加库目录是你用#pragma comment(lib,"a.lib")的时候;此时就搜索a.lib的路径列表就包含这个路径。
把它所在的目录添加到附加库目录里面:仅仅包含目录只是告诉IDE,搜索没有指定路径的库文件时,也搜索这里。
vs2010版本的C++OBDC方式连接数据库(ACCESS和SQL2008)
{
m_stuid = L"";
m_stuname = L"";
m_stuclass = L"";
m_usualscore = 0;
m_testscore = 0;
m_totalscore = 0;
m_nFields = 6;
m_nDefaultType = dynaset;
首先是用ACCESS方式连接数据库:
以前VC6.0怎么连接相信大家都能够得到了,他是通过首先打开控制面板->管理工具->数据源(ODBC)
就到了图一界面:
图一
然后点击右边的添加按钮:
很多书里面都叫添加时候选第二项,也就是图二里面所以深色背景那项:
图二
Vc6.0的操作就是这样选择。但在VS2010里面就不对。我用的是VS2010
}
/////////////////////////////////////////////////////////////////////////////
// Cscore诊?断?
#ifdef_DEBUG
voidCscore::AssertValid()const
{
CRecordset::AssertValid();
而不管是这里讲的ODBC模式连接SQL 还是ADO方式这种比较方便的方式连接都需要登录名和密码。你在单击上做练习的话 当然是不需要什么登录名的了,window验证,开机就可以用自然很方便,但是其他软件要访问它,必然要给他权限和接口,所以选择混合模式,设置SQL登录方式中用户名sa的密码。注意:密码一定要复杂不然还通不过。这是其一。
图十一
VS2010 (C#)winform程序打包发布图解==
1、新建一个Windows窗体应用程序,例如项目名为monitor,功能略。
新建的时候不要忘了创建解决方案。
2、在monitor解决方案上“右击”——“添加”——“新建项目”,选择“其他类型项目”——“安装和部署”——“安装项目”,并命名为“Setupmonitor”,确定后显示如下图所示3、添加必须文件: 在'应用程序文件夹'上右键,添加应用程序必须的配置文件(如果有的话),以及图标(桌面显示的图标,卸载程序的图标...).还需要添加一个系统的exe文件msiexec.exe(一般在c:\WINNT\System32目录下),用于卸载程序.(1)在左边的“应用程序文件夹”上右击“添加”——“项目输出”,选择monitor项目(2)在左边的“应用程序文件夹”上右击“添加”——“文件”,选择“c:"windows"system32"msiexec.exe”文件。
(3)在左边的“应用程序文件夹”上右击“添加”——“文件”,然后选择几个*.ico的图标文件完后显示如下4、创建快捷方式(1)”的快捷方式“,命名为startmonitor,并在其的属性栏中为其“Icon”选择刚才导入的图标。
并将其拖动到“用户的”程序”菜单”文件下。
(2)桌面快捷方式:步骤同1。
将其拖动到“用户桌面”下(3)卸载快捷方式:在msiexec.exe上右击“创建msiexec.exe 的快捷方式”,并命名为“卸载monitor”。
将其拖动到“用户的”程序”菜单”文件下,当然也可放在桌面。
查看SetupMonitor部署项目属性,属性值中有“{4EA38E9B-C4BF-4897-B095-E30160A27245}”类似字样,选中它“复制”。
再次点击你的卸载快捷方式名称,“卸载monitor”,再到右下角属性栏中,有一个叫Arguments的属性栏,在属性栏中首先填入“/x”后加一个空格,再“粘贴”,将ProductCode的属性值COPY至此。
Microsoft_Visual_Studio_2010初级教程
接下来我们通过虚拟光驱加载刚才下载好的ISO镜像:
在弹出的对话框中选择我们下载好的ISO文件。这个时候,虚拟光驱里面已经替我们打开了ISO文件,有的机器可能会自动弹出安装提示,有的不会。如果自动弹出安装提示,那么直接通过即可,如果没有弹出,那么用资源管理器方式进入虚拟光驱点击Setup.exe即可开始安装。
学C++用C++也有几年了,算不上熟悉,算是初窥门径吧,我想我应该做点什么帮助一下那些和曾经的我一样困惑的朋友,特别是学生朋友,告诉他们他们所困惑的问题的答案。记得我学C++的时候,没有人教,有的时候也走了不少弯路,甚至连调试也不会,也不知道可以通过看调用堆栈看调用次序,还自己慢慢的去搜索,好傻啊。
由于我已经安装好了VS2010,所以接下来无法给大家截图了,我就直接用文字描述吧。
当弹出VS2010安装程序之后点下一步,然后我们可能会看到完全最小自定义这样的选项,我推荐大家选择自定义,因为只有这样我们才可以自定我们安装的目录。接下来会选择安装的组件。这个时候我们会看到大量的VS2010的组件,这里我们可以选择是否安装Basic是否安装C#等等,我在网上找到一些图片,虽然跟中文版2010不一样,大家大概的样子是一样的,大家就凑合着看看吧。
下面通过开始菜单来启动VS2010吧:
如果你是第一次开始,那么可能会让你选择默认的环境设置,我们要使用VC当然选择VC的配置:
出现下面的画面表示已经成功安装和运行了。这是起始页面,以后你会经常见到它。
注意,你可能会没有VAssistX这个菜单,因为这个是个外部工具,以后会给大家解释它的用处,现在暂时忽略。接下来让我们来做一些常见的设置。通过菜单工具》选项调出配置对话框,下面是一些常见的设置:
vs2010 c 标准
vs2010 c 标准Visual Studio 2010 (简称VS2010) 是由微软公司推出的一款集成开发环境 (IDE),用于开发计算机程序、网站、网页和移动应用程序。
它支持多种编程语言,包括C、C++、C#等,本文将重点介绍在VS2010中使用C语言的标准。
在VS2010中,C语言的标准主要包括ANSI C、C89、C90、C99等。
其中,ANSI C是由美国国家标准协会制定的C语言标准,它定义了C语言的基本语法和库函数。
而C89、C90、C99则是ISO制定的C语言标准,它们对C语言的语法和功能进行了不同程度的扩展和修改。
在使用VS2010进行C语言编程时,我们可以根据需要选择不同的C语言标准。
一般来说,如果我们需要编写与平台无关的、具有较高可移植性的程序,推荐使用ANSI C标准。
而如果我们需要利用一些新的特性和功能,可以考虑选择较新的C语言标准,如C99。
在VS2010中,使用不同的C语言标准可能会影响到我们的编程方式和程序的兼容性。
因此,在选择C语言标准时,我们需要根据实际情况进行权衡和取舍。
在编写程序时,我们还需要注意遵循所选择的C语言标准,避免使用标准之外的语法和函数,以确保程序的正确性和可移植性。
除了选择C语言标准外,VS2010还提供了丰富的工具和功能,帮助我们更高效地进行C语言编程。
例如,它提供了强大的调试功能,可以帮助我们快速定位和解决程序中的问题;它还集成了丰富的库函数和模板,方便我们进行各种类型的程序开发;此外,VS2010还支持多种项目类型,包括控制台应用程序、Windows桌面应用程序、动态链接库等,满足不同类型程序的开发需求。
总的来说,VS2010是一款功能强大、灵活多样的集成开发环境,为C语言程序员提供了丰富的工具和功能。
在使用VS2010进行C语言编程时,我们需要根据实际情况选择合适的C语言标准,并充分利用其提供的工具和功能,以提高编程效率和程序质量。
VS2010 C 学习(5):基于DirectShow视频预览录像程序
VS2010 C++学习(5):基于DirectShow的视频预览录像程序学习VC++编制的基于DirectShow视频捕获程序,主要练习基于DirectShow程序的应用。
一、主要内容:1.基于DirectShow视频预览;2.基于DirectShow视频录像;二、设计实现:(一)、安装DirectShow首先我们安装DirectShow SDK,由于现在directShow没有和direcxtx一起发布,而是和windows sdk 打包发布了,可以到官网下载最新的windows sdk 开发包。
一个可用的下载地址为/07/hh/DXSDK_Feb10.rar 然后安装好windows SDK。
安装完DirectShow SDK的目录为C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow。
(二)、开发环境配置开发环境的配置主要有两个工作要做:一是在使用Directshow SDK开发自己的程序时需要的DirectShow的有关静态库的配置,二是visual C++开发环境的配置。
1)生成DirectShow SDK开发库使用DirectShow SDK开发用户自己的程序需要几个静态链接库:quartz.lib、strmbasd.lib、STRMBASE.lib和strmiids.lib。
中间两个lib需要用户自己编译生成,而其他两个微软已经提供。
下表列出了使用DirectShow SDK开发程序所有要使用的库。
2)更改添加的include内容:C:\Program Files\MicrosoftSDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses;C:\Program Files\Microsoft SDKs\Windows\v7.1\Include;添加过程如下。
编译原理实验词法分析器VS2010C实现
编译原理词法分析器实验课题:正则表达式->NFA->DFA->简化,最后输入一字符串并检测该字符串是否能到达最终状态开发环境:Visual Studio 2010使用方法:现在test文件夹下的alphabet.txt中输入将出现的字符,regexp.txt中输入正则表达式,运行程序即可。
已在alphabet中输入ab,regexp中输入(a|b)*abb。
测试路径则为abb 与ab。
数据结构设计:①转换弧类型定义typedef struct TRANS{int dest;//转换弧指向的状态IDchar sign;//输入的转换变量struct TRANS* next;//指向下一个转换弧} Trans;②状态类型定义typedef struct STATE{int id ; //状态编号int numOfTrans; //从该节点出去的转换弧计数Trans *trans;//用单链表保存所有的转换弧} State ,*PState;③NFA类型定义typedef struct NFANODE{PState *NodeTable;//[Max_State],存放所有状态的数组int numOfStates;//总的状态数int numOfTrans;//总的转换弧条数PState pStart;//NFA的start statePState pFinal;//NFA的final state} NFA;④DFA类型定义(其中的数组下标与DFA中状态编号一致)typedef struct DFANODE{int **DStates;//保存各个闭包的状态表集合int **Dtrans;//DFA中的状态转换表int *AcceptSet;//DFA中的状态标志,为是表示非终态(可接受输入状态),//为时表示终态(不可接受输入状态)int numofDStates;//DFA的状态计数int numOfDTrans;//DFA的转移计数} DFA;⑤RESULT类型定义(保存化简时一组等价的状态)typedef struct RESULTNODE{int SameNextState;//具有相同次态的状态IDstruct RESULTNODE* Next;//指向下一个相同次态的状态} RESULT;⑥定义链式字符栈结点typedef struct CHARSTACK{char data;struct CHARSTACK *next;} SNode ,*PSNode;⑦定义链式Nfa栈(状态栈)结点typedef struct STATESTACK{PState data;struct STATESTACK *next;} Nfa_SNode ,*PNfa_SNode;正则表达式转化成NFA①完成的工作(1)创建一个NFA对象,用来保存需要构建的NFA并完成初始化(2)使用Thompson算法构建NFA(3)输出NFA中的相关信息NFA转化成DFA,并完成化简①完成的工作(1)由以上的NFA使用子集法构建DFA(2)输出DFA中的相关信息,包括原始的数据和化简后的数据验证DFA①完成的工作(1)接受键盘输入的字符串(2)用以上化简后的DFA验证该字符串的可达性②实现程序实现:I、头文件(headCode.h)#include <stdio.h>#include <stdlib.h>#include <string.h>#include <malloc.h>#include <iostream>#include <iomanip>using namespace std;#define Max_alphabet 20//输入字符最大个数#define Max_regexp 50//输入的正则式最大长度#define Max_StateTransition 20//当输入字母时候的转换弧#define Max_State 200//保存的状态的最大数目#define FileAlphabetPath "alphabet.txt"//保存输入的字母文件#define FileRegexpPath "regexp.txt" //保存输入的正则式文件/**//*-----------------------程序中使用的结构的定义------------------------*///转换弧类型定义typedef struct TRANS{int dest;//转换弧指向的状态IDchar sign;//输入的转换变量struct TRANS* next;//指向下一个转换弧} Trans;//状态类型定义typedef struct STATE{int id ; //状态编号int numOfTrans; //从该节点出去的转换弧计数Trans *trans;//用单链表保存所有的转换弧} State ,*PState;//NFA类型定义typedef struct NFANODE{PState *NodeTable;//[Max_State],存放所有状态的数组int numOfStates;//总的状态数int numOfTrans;//总的转换弧条数PState pStart;//NFA的start statePState pFinal;//NFA的final state} NFA;//DFA类型定义(其中的数组下标与DFA中状态编号一致)typedef struct DFANODE{int **DStates;//保存各个闭包的状态表集合int **Dtrans;//DFA中的状态转换表int *AcceptSet;//DFA中的状态标志,为是表示非终态(可接受输入状态),//为时表示终态(不可接受输入状态)int numofDStates;//DFA的状态计数int numOfDTrans;//DFA的转移计数} DFA;//RESULT类型定义(保存化简时一组等价的状态)typedef struct RESULTNODE{int SameNextState;//具有相同次态的状态IDstruct RESULTNODE* Next;//指向下一个相同次态的状态} RESULT;//定义链式字符栈结点typedef struct CHARSTACK{char data;struct CHARSTACK *next;} SNode ,*PSNode;//定义链式Nfa栈(状态栈)结点typedef struct STATESTACK{PState data;struct STATESTACK *next;} Nfa_SNode ,*PNfa_SNode;/**//*------------全局变量,以大写字母开头---------------*/char Alphabet[Max_alphabet];//输入的字母表,从FileAlphabetPath读出char Operator[3]={'|','*','+'};//“+“代表连接int NumOfSymbol;//实际的字母表字母个数char Regexp[Max_regexp];//保存输入的正则式char Postfix[Max_regexp];//保存由正则式转化来的后缀表达式PSNode SymbStack; //保存输入字母的栈PNfa_SNode StateStack;//保存状态的栈NFA *Nfa; //保存构造好的NFADFA Dfa;//保存DFAFILE *fpout;//输出程序的结果到文件中/**//*----------------------所有函数的声明清单---------------------------*/int Readalphabet(void);//读入字母表int Readregexp(void);//读入正则表达式void Init_SymbStack(void);//字符栈初始化int IsEmpty_SymbStack(void);//判断字符栈是否为空void Push_SymbStack(char x);//字符栈数据入栈char Pop_SymbStack(void);//字符栈数据出栈char GetTop_SymbStack(void);//获取字符栈栈顶数据void Destory_SymbStack(void);//字符栈的析构函数void Init_StateStack(void);//状态栈初始化void Push_StateStack(PState x);//状态栈数据入栈PState Pop_StateStack(void);//状态栈数据出栈void Destory_StateStack(void);//状态栈的析构函数int LexScan(char *x);//正则式的合法性检测int IsInArray(char x, char *charArray);//在charArray[]中查找x,成功返回,失败返回,用于合法性检测int LocationInArray(char x,char *charArray);//在CharArray[]中找到x的位置,并返回void AddConcatenation();//正则式加入连接符“+”代表concatenation运算符)void REtoPostfix(void);//将正则式转为后缀表达式void Init_Nfa(void);//Nfa的初始化void ConstructNFA(void);//用Thompson算法构造NFAvoid NewState(PState x);//申请新的状态点void AddTrans(PState s1,PState s2,char x);//添加转换弧void OutputNFA();//输出NFAvoid BubbleSort(int *array);//对状态集进行排序,方便比较数组,使输出形式更好看。
用VS2010写C语言程序的方法
用VS2010写C语言程序的方法
大家或许都知道,用VS2010(Microsoft Visual Studio 2010)可以写C语言程序。
可是在新建项目的时候怎么就没有找到C语言这个选项呢?不用怀疑,M icrosoft Visual Studio 2010确实可以用来写C程序。
废话到此,来看看详细的操作步骤。
方法/步骤
1、打开Microsoft Visual Studio 2010软件;依次打开“新建”、“项目”。
选择“win32控制台应用程序”,在窗口下面的名称填写好名称。
2、点击“下一步”继续。
1.在附加选项中选择“空项目”,然后点击“完成”。
2.在软件界面左边的"解决方案资源管理器"中的“源文件”上面右击鼠标一
次选择“添加”、“新建项”。
3.6在新窗口中选择“C++文件(.cpp)”,在窗口下方的名称中填写好名称。
最后选择“添加”。
啊哈,大功告成!
4.然后在编辑窗口中,输入程序:
5.书写完之后,编译。
点击菜单栏上面的“生成”->“编译”或者直接按
“CTRL+F7”键,如果在输出窗口显示成功,如下图,则表示程序无语
法错误。
6.运行。
点击菜单栏上面的“调试”->“开始执行(不调试)”或者直接按
“CTRL+F5”键,如果出现以下窗口,则成功:。