当前位置:首页 > 代码 > 正文

vs2012代码生成器(vs生成程序)

admin 发布:2022-12-19 15:52 120


今天给各位分享vs2012代码生成器的知识,其中也会对vs生成程序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

想在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

            Print

        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

            Print

        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站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/11291.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载