vs2012代码生成器(vs生成程序)
admin 发布:2022-12-19 15:52 120
今天给各位分享vs2012代码生成器的知识,其中也会对vs生成程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、想在vs2012下生成 exe文件,可以在不安装VS的电脑中可以使用,请问怎么做
- 2、vs2012编写的c#窗体程序在xp上跑不了,怎么办
- 3、VS2012如何批量生成get set?
- 4、怎么用VS2012创建自己的C语言函数库
- 5、vs2012怎么生成一个dll
- 6、用vs2012编写vb程序。在线等急求!!!!
想在vs2012下生成 exe文件,可以在不安装VS的电脑中可以使用,请问怎么做
在VS中编写C/C++语言的代码,编译、调试过后,就会在debug文件夹中生成一个exe文件,就可以在windows的系统下运行了。
vs2012编写的c#窗体程序在xp上跑不了,怎么办
微软为了推销自家平台,默认配置下VS2012和VS2013编写的应用程序只能在Vista/Win7/Win8上运行。但幸好还保留了生成XP程序的设置项。XP和Win2003的用户还是大量存在的,我们程序软件的发布不能不考虑他们。
1.
项目菜单-项目属性-配置属性-常规-平台工具集,选择“VS2013WindowsXP(v120_xp)”;
2. 项目菜单-项目属性-配置属性-常规-MFC的使用,选择在静态库中使用MFC;
3.
项目菜单-项目属性-链接器-系统-子系统-控制台或窗口windows(根据你的项目类型选择),第二项版本号设成5.01。
4. C/C++-代码生成-运行库,选择“多线程调试(/MTd)";
5. 还需要至少带有Update3(或4),这一点我没有验证,因为我直接安装的就是带有Update3的VS2013。
以上就OK了。缺点仍然有,例如静态编译的EXE比正常动态要大不少,目前我尚未试出动态编译后在XP中能运行的方法,--不过这个不要紧,因为VS2013版本如此之高,客户的电脑上很难自带配有它的运行库,你即使动态编译,发布软件时也还是要带上运行库的,只不过在多个程序时只需带一份运行库罢了。
另外,我在实际大项目中用上述方法,仍有出错现象发生。以后再研究吧。一般情况下上述方法就可以了。
在网上另外发现了这个贴子,说得很详细,包括非IDE的命令行编译,一起贴到下面:
问题一:编译出来的exe在xp上面运行提示“不是有效的win32应用程序”
在vs2012/2013版本里面,其自带的c编译器cl.exe,若直接使用cl
a.c编译,那么生成出来的exe放在vista及以上版本直接运行没有问题,但是在xp上则会出来“不是有效的win32应用程序”的出错提示。这是因为vs2012/2013自带的c编译器默认情况下生成的exe会默认只支持vista及以上版本的windows系统。
解决方法:
对于使用命令行cl.exe直接编译的方式:
先用cl a.c编译一遍,此时会生成a.exe和a.obj两个文件,此时,再执行 link b.obj
/subsystem:console,5.01,它会链接一个新的a.exe出来,此时的exe就可以在xp上运行了。相比vs2010以及以前版本的编译器编译,会多第二步的link过程,后面的参数也很容易理解,subsystem,5.01,此处的5.01是指的windows内核版本号,5.01表示windows
2000 with sp1,即此exe可以在win2000 sp1及以上的windows中执行。
当然,这个地方的/subsystem后面有很多参数,上面给的console,5.01是指命令行程序,如果是有GUI即有窗口的程序,改成windows,5.01即可。!!注意!!此处的5.01一定不要想当然改成5.0就变成windows
2000
不带sp1的版本,实际上,5.0并不被vs2013的编译所承认,会报警告不认5.0,就会按照默认的不带5.01的方式编译,这样就无法在vista以下的系统中运行生成的exe了。
对于在vs2013里面使用新建项目的方式:
右击相应的项目,选择“属性”,在项目属性页中的“配置属性”下面的“常规”里面,把“平台工具集”,由“Visual Studio 2013
(v120)”改成“Visual Studio 2013 - Windows XP
(v120_xp)”,确定之后,重新生成项目即可。当然这里按这样修改的话,就只能在winxp及以上的版本系统里面运行了。
问题二:用vs2010/2012/2013编译出来的exe在未安装vc++运行库的机器上运行时提示”未找到MSVCR120D.DLL“从而无法运行
这是个老问题了,无非就是运行库动态编译和静态编译的问题了。dll动态加载的话有个好处,它可以减少生成的exe文件的体积,但是缺点就是如果对应的系统环境变量或者exe所在的目录里面找不到其所需要的dll文件的话,程序就会拒绝执行。而静态编译就是把所有需要的库都静态编译到exe文件里面,这样就可以在所有的系统平台上都能运行,但它也有一个缺点,就是生成的exe文件因为已经带了部分库的代码,所以体积会相对动态编译出来的exe大(具体大多少要根据库的内容才能确定)。
解决方法:
对于直接使用cl.exe和link.exe编译连接的方式:
直接在cl.exe编译的时候或者在makefile里面把编译参数加上/MT即可。
对于在vs2013里面使用新建项目的方式:
右击相应的项目,选择“属性”,在项目属性页中的“配置属性”下面的“C/C++”下面的“代码生成”一项,由默认的“多线程调试DLL
(/MDd)”,改成“多线程 (/MT)”,确定之后,重新生成项目即可。这样所得的exe文件就是静态编译了。
VS2012如何批量生成get set?
两种方法:
1)在类中先定义一个私有变量:private int number = 0;然后鼠标放到这个定义的语句上,右键选择“重构-封装字段”即可(ctrl+R E)。
2)如果你用VS2010(非Express版本),还可以下载插件,该插件支持批量生成
AsEclipse 下载地址:
支持VS2005、VS2008、VS2010 中英文版
AsEclipse 是把Eclispe一些方便的编辑功能移植到Visual Studio上。而且让快捷键尽量与Eclipse默认设置保持一致。不管你是否用过Eclipse,相信都会方便你的代码编写。
主要包括:
1 快捷键执行代码整理:ctrl+shift+f (仅支持c#)
2 一次性迅速生成所有的Getter/Setter属性:alt+shift+s, r (对于数据类尤其方便,仅支持c#)
3 显示类型大纲窗体,选中之后转到定义:ctrl+shift+t (如果类型过多,仅显示最近编辑过的类型,支持c#、c++)
4 显示当前编辑文档的成员大纲窗体,选中之后转到定义:ctrl+o (支持c#、c++、vb)
5 插入代码段功能:alt+shift+z (调用的VS的插入代码段功能)
6 代码段注释/取消注释功能:ctrl+/ (选中的代码如果被注释掉,则执行取消注释,否则执行注释,支持c#、c++、vb、xml)
7 在文档编辑的tab页,增加关闭所有文档菜单: ctrl+shift+f4
8 统计代码行数,在点击主菜单: 工具-AsEclipse-CodeLineCounter,即可。
9 你可以通过AsEclipseConfig.xml文件自定义上面那些功能的快捷键。AsEclipseConfig.xml与AsEclipse.dll在同一个目录。如果你想恢复默认设置,则直接删除AsEclipseConfig.xml即可。
------------------
注意:
1.安装完成后,会在主菜单中的"Tools--AsEclipse"下看到本插件所有的功能。
2.所有的功能,都能在键盘上轻松完成,不需要使用鼠标。可以大大减少你使用鼠标的次数,无论是打开文件,打开一个类,还是定位到方法、变量等,完全可以用键盘实现了。
3.有些功能是VS本来就有,AsEclipse只是给它设置了一些快捷键.
4.关于显示类型大纲:当解决方案打开时,插件会为解决方案中的类型建立索引,文件较多,建立索引速度会比较慢,当类型过多时,会自动切换成仅显示最近编辑文件的所有类型。当用户执行重新生成解决方案命令(Rebuild All)时,会重新建立索引。
5.目前没有测试与其它插件的兼容性。
6.AsEclipseConfig.xml是在你装好本插件后,第一次启动Visual Studio时生成。
------------------
安装说明:将插件dll和.AddIn配置文件放入到Visual studio 2008应用目录(默认是在我的文档\Visual Studio 2008 (或者2005、2010))的Addins目录下。如果没有Addins目录,则自己创建一个。最后,重新启动Visual Studio。如果你是2005则替换目录相应替换成2005即可。
如果你在确认正确安装后,在工具菜单下面找不到AsEclipse的菜单,这个时候需要重新启动VS。
怎么用VS2012创建自己的C语言函数库
步骤如下:
1、新建一个Visual C++的“Win32项目”,建立一个空项目。
2、建立完成后,右键点击右边的“解决方案”中的“源文件”。
3、选择“添加”,然后添加“新建项”。
4、选择“Visual C++”中的C++文件,点“添加”。
5、在新加的C++文件里面写好代码,然后保存。
6、编译运行即可(快捷键Ctrl+F5)。
vs2012怎么生成一个dll
1、创建DLL工程,点击文件-新建-项目-visual c++-win32-win32控制台应用程序(win32项目也可以)。
2、填写项目名称MyDLL-确定-下一步-DLL(附加选项 对空项目打钩)-完成。
3、到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h。
4、然后分别添加DLL的代码:
MyDLL.cpp
#include
using namespace std;
#include "MyDLL.h"
int Add(int a,int b)
{
return a+b;
}
MyDLL.h
#pragma once
extern "C" __declspec(dllexport) int Add(int a,int b);
5、点击生成Bulid --Bulid MyDLL,dll文件就生成了。
用vs2012编写vb程序。在线等急求!!!!
'//首先你需要在Form1上面创建一个名称为Text1的TextBox
'//一个名为Command1的按钮和一个名为Command2的按钮
'//一个名为Picture1的PictureBox
'//然后再创建一个Form2,上面必须有一个名为Text1的TextBox
'//Form2上面也要有一个名为Command1的按钮和一个名为Command2的按钮
'//然后将下面的代码找对地方复制过去就行了
'//再添加一个Form3
'//关于Tab顺序的问题,你自己去调每个可操作控件的TabIndex
'//Form2的TextBox需要填上完整路径比如:C:\桌面\text_XXXX.txt
'//另外如果可以能不能留下你的邮箱······ 这样发真的很麻烦···
'////////////////////////////////////////////////////////////////////////////////////////////////////////////Form1
Dim teum As String
Option Explicit
Private Sub Check1_Click(index As Integer) '//检测点击的哪一个复选框
If p = True Then
p = False
Exit Sub
End If
If Check1(index).Value = 1 Then
teum = Text1.text '//记录未排序的结果
Else
Text1.text = teum '//将未排序的结果返还给文本框
model = 0
End If
Select Case index
Case 1
Call click(Check1(1))
model = 1
Case 2
Call click(Check1(2))
model = 2
End Select
End Sub
Private Sub Command1_Click() '//生成乘法表(这个地方推荐你改改··· 我不知道你打算把这个打印出来的乘法表放哪里···)
If checkNumLen(Form1.Text1.text) = False Then
Exit Sub
End If
Load Form3
End Sub
Private Sub Command2_Click() '//打开生成文件窗口,并将其设置为模式窗口
Form2.Show vbModal
End Sub
Private Sub Form_Load()
model = 0
End Sub
Private Sub Text1_Change()
Text1.BackColor = vbWhite
End Sub
'/////////////////////////////////////////////////////////////////////////////////////////////////////////////Form2
Option Explicit
Private Sub Command1_Click()
Dim file As String
Dim s As String
Dim txt As String
p = True
If Form1.Text1.text = "" Then
MsgBox "被写入的数据不能为空!", vbCritical, "提示:"
p = False
Exit Sub
ElseIf checkNumLen(Text1.text) = False Then
Form1.Text1.BackColor = HC0C0FF
MsgBox "被写入数据不符合条件!", vbCritical, "提示:"
p = False
Exit Sub
End If
If model = 0 Then
s = "【未排序的】"
ElseIf model = 1 Then
s = "【从小到大排序的】"
ElseIf model = 2 Then
s = "【从大到小排序的】"
End If
If Text1.text = "" Then
MsgBox "请输入文件路径!", vbCritical, "提示:"
p = False
ElseIf Dir(Text1.text) = "" Then
MsgBox Text1.text vbCrLf "文件不存在!", vbExclamation, "提示:"
p = False
Else
file = Text1.text
txt = Form1.Text1.text
If MsgBox("确定要写入当前数据?" vbCrLf "当前数据是" s, vbExclamation + vbOKCancel, "提示:") = vbOK Then
Open file For Output As #1 '//打开目标文件,访问方式:顺序访问
Write #1, Val(txt)
Close #1 '//关闭目标文件
MsgBox "写入完毕!", vbInformation, "提示:"
End If
End If
End Sub
Private Sub Command2_Click()
Dim file As String
Dim txt As String
Dim txtread As String
If Text1.text = "" Then
MsgBox "请输入文件路径!", vbCritical, "提示:"
Exit Sub
ElseIf Dir(Text1.text) = "" Then
MsgBox Text1.text vbCrLf "文件不存在!", vbExclamation, "提示:"
Exit Sub
Else
file = Text1.text
txt = Form1.Text1.text
Open file For Input As #1 '//打开目标文件,访问方式:顺序访问
Do
Line Input #1, txtread
txt = txt txtread
Loop Until EOF(1) = True
Close #1 '//关闭目标文件
End If
If txt = "" Then
MsgBox "文件为空!", vbExclamation, "提示:"
ElseIf IsNumeric(txt) = False Then
MsgBox "文件内包含非法字符", vbCritical, "提示:"
ElseIf Len(txt) 3 Then
MsgBox "文件内容不足三位数字", vbCritical, "提示:"
ElseIf IsNumeric(Mid(txt, 3, 1)) = False Then
MsgBox "文件内容第3位不是数字!", vbCritical, "提示:"
Else
MsgBox "文件符合要求!", vbInformation, "提示:"
End If
End Sub
'///////////////////////////////////////////////////////////////////////////////////////////////////////////////Form3
Option Explicit
Private Sub Form_Load()
Dim num As Integer
Dim i As Integer
Dim j As Integer
Dim space As String
Show
num = Val(Mid(Form1.Text1.text, 3, 1)) Mod 2
If num = 0 Then
For i = 1 To 9
For j = 1 To i
If j = 2 And i = 4 Or j = 2 And i = 3 Then
space = " "
Else
space = " "
End If
Print j "×" i "=" j * i space;
Next j
Next i
Else
For i = 9 To 1 Step -1
For j = 1 To i
If j = 2 And i = 4 Or j = 2 And i = 3 Then
space = " "
Else
space = " "
End If
Print j "×" i "=" j * i space;
Next j
Next i
End If
End Sub
'///////////////////////////////////////////////////////////////////////////////模块文件
Option Explicit
Public p As Boolean
Public model As Integer
Public Function sort(content As String, style As Integer) '//排序函数,content 必选参数,需要排序的内容;style 必选参数,用于规定排序方式
Dim a(9) As Integer
Dim i As Integer
Dim j As Integer
Dim k As Integer
Dim t As Integer
For i = 0 To Len(content) - 1 '//给排序数组用赋值
a(i) = Val(Mid(content, i + 1, 1))
Next i
'//排序方法:选择排序
If style = 1 Then '//从小到大
For j = 0 To Len(content) - 2
For k = j + 1 To Len(content) - 1
If a(j) a(k) Then
t = a(j)
a(j) = a(k)
a(k) = t
End If
Next k
Next j
ElseIf style = 2 Then '//从大到小
For j = 0 To Len(content) - 2
For k = j + 1 To Len(content) - 1
If a(j) a(k) Then
t = a(j)
a(j) = a(k)
a(k) = t
End If
Next k
Next j
End If
For i = 0 To Len(content) - 1 '//排序将结果交给文本框
sort = sort a(i)
Next i
End Function
Public Function checkNumLen(content As String) '//条件检测函数,content 必选参数,需要排序的内容
Dim i As Integer
If Len(Form1.Text1.text) 8 Or Len(Form1.Text1.text) 10 Then
If p = False Then
Form1.Text1.BackColor = HC0C0FF
MsgBox "请输入8~10位的正整数", vbCritical, "提示:"
model = 0
Form1.Text1.SetFocus
p = True
For i = 1 To Form1.Check1.UBound
Form1.Check1(i).Value = 0
Next i
p = False
End If
Else
checkNumLen = True
End If
End Function
Public Function click(Obj As Object) '//点击检测函数
Dim i As Integer
If checkNumLen(Form1.Text1.text) = False Then
Exit Function
Else
If Obj.Value = 1 Then
For i = 1 To Form1.Check1.UBound
If i Obj.index Then
Form1.Check1(i).Value = 0
End If
Next i
Form1.Text1.text = sort(Form1.Text1.text, Obj.index) '//调用排序函数
End If
End If
Form1.Text1.SetFocus
Form1.Text1.SelStart = Len(Form1.Text1.text)
End Function
关于vs2012代码生成器和vs生成程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:管理系统pb9源代码的简单介绍
- 下一篇:游戏源代码下载(游戏源码网)
相关推荐
- 05-06单页网站的代码(完整的网页代码)[20240506更新]
- 05-06个人主页图片代码(个人主页图片代码怎么弄)[20240506更新]
- 05-06提取微信名片代码(微信名片信息提取)[20240506更新]
- 05-06php后台权限管理代码(php管理员权限)[20240506更新]
- 05-06付费观看代码php(付费观看代码)[20240506更新]
- 05-06在线html执行代码(html怎么运行)[20240506更新]
- 05-06源代码管理资源管理器(资源管理器运行代码)[20240506更新]
- 05-06代码源软件库(程序代码库)[20240506更新]
- 05-06点击弹出密码代码(点击弹出密码代码错误)[20240506更新]
- 05-06滚动导航代码(导航页面代码)[20240506更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接