精华内容
下载资源
问答
  • vc2019

    2020-06-21 13:53:50
    大佬们有vc2019下载地址吗[face]onion:3.gif[/face]
  • vc2019 crt 源文件

    2020-04-29 22:46:44
    vc2019 开发环境自带的 crt 源文件。
  • 魔塔游戏样例(VC2019
  • VC-CMake:VC2017 / VC2019 CMake编译源代码 文件说明: Tools : Directory; Place the tools needed for compilation. Such as cmake, pkgconfig, 7z, etc; Patch : Directory; Place source patches; Single : ...
  • 安装EasyX-VC2019

    千次阅读 2019-11-23 14:39:43
    安装EasyX-VC2019安装VC2019安装VS2019下载EasyX测试运行如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何...

    安装VC2019

    https://support.microsoft.com/zh-cn/help/2977003/the-latest-supported-visual-c-downloads
    VC2019安装方法
    正常安装即可

    安装VS2019

    https://visualstudio.microsoft.com/zh-hans/vs/
    VS2019下载
    安装下载的Installer,工作负载添加C++的桌面开发
    添加工作负载
    注意安装后不可将Cache文件夹删除,否则将无法找到主程序
    激活序列号可以在网上搜到,如:NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y

    下载EasyX

    https://easyx.cn/
    下载EasyX,安装
    EasyX安装
    第一个安装能在桌面得到一份文档,第二个安装将头文件放入VS中
    若需要将头文件导入其他IDE中,可将.exe改为.zip提取头文件

    测试运行

    在EasyX官网复制一个项目,在VS中测试运行
    以五子棋为例,应能实现如下效果
    试运行成功

    展开全文
  • vc2019的快捷键

    2020-07-14 14:08:56
    vc2019的快捷键 一.多行注释 : ctrl+k+c 二.多行注释取消 : ctrl + k + u //后面待写…

    vc2019的快捷键

    一.多行注释 : ctrl+k+c

    二.多行注释取消 : ctrl + k + u

    //后面待写…

    展开全文
  • VC 2019安排代码位置

    2020-03-19 22:07:30
    这个问题是我在开发32位引导程序是出现的,原来是用VC2005来编译和链接的,一直工作很正常,但是,有一天,我突发奇想,换成VC2019来编译,好吧,引导程序就罢工了…… 这是我的makefile OBJS = $(OBJDIR)\startup....

    1. 问题的出现

    这个问题是我在开发32位引导程序是出现的,原来是用VC2005来编译和链接的,一直工作很正常,但是,有一天,我突发奇想,换成VC2019来编译,好吧,引导程序就罢工了……

    这是我的makefile

    OBJS    = $(OBJDIR)\startup.obj $(OBJDIR)\rbxldr32.obj $(OBJDIR)\io.obj \
    	$(OBJDIR)\nvsprintf.obj $(OBJDIR)\bvd.obj $(OBJDIR)\pe.obj
    #
    #
    ..\..\bin\RBXLDR32: $(OBJS) ..\..\bin\build.exe
        $(LINK) $(LFLAGS) $(OBJS) libc.lib msvcrt.lib
    	del ..\..\bin\RBXLDR32
    	..\..\bin\build -s..\..\bin\rbxldr32.exe -d..\..\bin\RBXLDR32 -a18000
    

    我把mainCRTStartup放在startup.obj中,为了保证mainCRTStartup位于0x00401000的位置,我就把startup.obj放在了第一个文件中。这个makefile在VC2005中,没有问题。

    换到了VC2019后,就不行了

    折腾了半天,搞了各种编译和链接的参数,毛用都没有

    2. 发现问题

    然后就看MAP文件,一看,简直日了狗了,原来是入口点变了。我是设计将引导程序的入口点放在RVA+0x00001000处,经过重定位后,是在0x00019000处,在MAP文件中,会显示在0x00401000处。

    这个安排在VC2005中并没有问题,到了VC2019,就出问题了,微软还真能搞事,

    这个可以看看,先放VC2005的MAP文件

     rbxldr32
     
     Timestamp is 5e736e4f (Thu Mar 19 21:06:23 2020)
     
     Preferred load address is 00400000
     
     Start         Length     Name                   Class
     0001:00000000 00002e8cH .text                   CODE
     0002:00000000 00000790H .data                   DATA
     0002:000007a0 00000360H .bss                    DATA
     
      Address         Publics by Value              Rva+Base       Lib:Object
    
     0000:00000000       ___safe_se_handler_count   00000000     <absolute>
     0000:00000000       ___safe_se_handler_table   00000000     <absolute>
     0001:00000000       _mainCRTStartup            00401000 f   startup.obj
     0001:00000010       _CheckLdrParamList         00401010 f   rbxldr32.obj
     0001:00000120       _LPL_FindFirst             00401120 f   rbxldr32.obj
     0001:00000150       _LDR_GetSysImgOffset       00401150 f   rbxldr32.obj
      
     entry point at        0001:00000000
    

    这个可以看出,mainCRTStartup就位于0x00401000处, 没有问题。

    然后看看VC2019的MAP文件

     rbxldr32
     
     Timestamp is 5e736f05 (Thu Mar 19 21:09:25 2020)
     
     Preferred load address is 00400000
    
     Start         Length     Name                   Class
     0001:00000000 00000690H .text                   CODE
     0001:00000690 000027a5H .text$mn                CODE
     0002:00000000 0000001cH .rdata                  DATA
     0002:0000001c 00000000H .edata                  DATA
     0002:0000001c 00000070H .rdata$zzzdbg           DATA
     0003:00000000 000007a0H .data                   DATA
     0003:000007a0 00000374H .bss                    DATA
    ;
      Address         Publics by Value              Rva+Base       Lib:Object
    ;
     0000:00000000       ___guard_longjmp_table     00000000     <absolute>
     0000:00000000       ___guard_iat_table         00000000     <absolute>
     0001:00000000       _strcmp                    00401000 f   libc:strcmp.obj
     0001:00000090       _memset                    00401090 f   libc:memset.obj
     0001:000000f0       _strstr                    004010f0 f   libc:strstr.obj
     0001:00000170       _strlen                    00401170 f   libc:strlen.obj
     0001:000001f0       __aulldiv                  004011f0 f   libc:ulldiv.obj
     0001:00000260       __allmul                   00401260 f   libc:llmul.obj
     0001:000002a0       __aullrem                  004012a0 f   libc:ullrem.obj
     0001:00000320       _memmove                   00401320 f   libc:memmove.obj
     0001:00000470       _memcpy                    00401470 f   libc:memcpy.obj
     0001:000005d0       _strchr                    004015d0 f   libc:strchr.obj
     0001:000005d6       ___from_strstr_to_strchr   004015d6     libc:strchr.obj
     0001:00000690       _mainCRTStartup            00401690 f   startup.obj
     0001:000006a0       _CheckLdrParamList         004016a0 f   rbxldr32.obj
     0001:000007b0       _LPL_FindFirst             004017b0 f   rbxldr32.obj
     0001:000007e0       _LDR_GetSysImgOffset       004017e0 f   rbxldr32.obj
     0001:000008c0       _BuildSystMemLayout        004018c0 f   rbxldr32.obj
     
     entry point at        0001:00000690
    

    0x00401000的位置居然变成了strcmp,那当然会出错了

    3. 问题在哪里

    一开始,还以为是链接器改变了按照目标文件和库文件顺序来安排代码位置的方式,但是,仔细一看,还是按照命令行指定的顺序来安排代码位置的。

    找了很久,找不到,都要死心滚回VC2005了,在上下翻MAP文件的时候,发现了问题在哪里,居然是在死心后发现问题的,发现VC2019编译出的MAP存在特别多的节(SECTION),对比一下VC2005的MAP文件,VC2005编译出来只有3个节,而VC2019,居然编译出了7个节,而且居然还有两个代码节,日

    ; 这是VC2005的节信息
     Start         Length     Name                   Class
     0001:00000000 00002e8cH .text                   CODE
     0002:00000000 00000790H .data                   DATA
     0002:000007a0 00000360H .bss                    DATA
    ;
    ; 这是VC2019的节信息
     Start         Length     Name                   Class
     0001:00000000 00000690H .text                   CODE
     0001:00000690 000027a5H .text$mn                CODE
     0002:00000000 0000001cH .rdata                  DATA
     0002:0000001c 00000000H .edata                  DATA
     0002:0000001c 00000070H .rdata$zzzdbg           DATA
     0003:00000000 000007a0H .data                   DATA
     0003:000007a0 00000374H .bss                    DATA
    

    然后还发现,VC2019居然把mainCRTStartup放在了第二个代码节的开头

     0001:00000690       _mainCRTStartup            00401690 f   startup.obj
    

    到这里才发现,这是两个不同名称的代码节,什么鬼?编译器居然给代码节改名了……所以链接器就按节名称的顺序来安排代码位置,好吧,大写的服。

    4. 解决问题

    为了解决这个问题,我首先想到的是给代码节改名,改成.text应该就可以了,在CL.EXE的帮助里没有找到可以改节名的地方,是想在编译参数里面设置的话,可以映像到整个程序,没找到…

    算了,还是老老实实用#pragma吧

    就是在代码里增加一行 #pragma code_seg(".text")

    修改后的代码是这样的

    #include "rbxldr32.h"
    void        main(void);
    //
    #pragma code_seg(".text")
    //
    void mainCRTStartup(void)
    {
        main();
        for(;;)
            ;
    }
    

    然后来看看编译出来的MAP

    rbxldr32
    ;
     Timestamp is 5e7375d3 (Thu Mar 19 21:38:27 2020)
    ;
     Preferred load address is 00400000
    ;
     Start         Length     Name                   Class
     0001:00000000 000006a0H .text                   CODE
     0001:000006a0 00002795H .text$mn                CODE
     0002:00000000 0000001cH .rdata                  DATA
     0002:0000001c 00000000H .edata                  DATA
     0002:0000001c 00000070H .rdata$zzzdbg           DATA
     0003:00000000 000007a0H .data                   DATA
     0003:000007a0 00000374H .bss                    DATA
    ;
      Address         Publics by Value              Rva+Base       Lib:Object
    ;
     0000:00000000       ___guard_longjmp_table     00000000     <absolute>
     0000:00000000       ___guard_iat_table         00000000     <absolute>
     0001:00000000       _mainCRTStartup            00401000 f   startup.obj
     0001:00000010       _strcmp                    00401010 f   libc:strcmp.obj
     0001:000000a0       _memset                    004010a0 f   libc:memset.obj
     0001:00000100       _strstr                    00401100 f   libc:strstr.obj
     0001:00000180       _strlen                    00401180 f   libc:strlen.obj
     0001:00000200       __aulldiv                  00401200 f   libc:ulldiv.obj
     0001:00000270       __allmul                   00401270 f   libc:llmul.obj
     0001:000002b0       __aullrem                  004012b0 f   libc:ullrem.obj
     0001:00000330       _memmove                   00401330 f   libc:memmove.obj
     0001:00000480       _memcpy                    00401480 f   libc:memcpy.obj
     0001:000005e0       _strchr                    004015e0 f   libc:strchr.obj
     0001:000005e6       ___from_strstr_to_strchr   004015e6     libc:strchr.obj
     0001:000006a0       _CheckLdrParamList         004016a0 f   rbxldr32.obj
     0001:000007b0       _LPL_FindFirst             004017b0 f   rbxldr32.obj
     0001:000007e0       _LDR_GetSysImgOffset       004017e0 f   rbxldr32.obj
     0001:000008c0       _BuildSystMemLayout        004018c0 f   rbxldr32.obj
     0001:00000b40       _IA32_BuildPageMap         00401b40 f   rbxldr32.obj
     0001:00000d60       _LoadCoreFile              00401d60 f   rbxldr32.obj
     
     entry point at        0001:00000000
    

    这样mainCRTStartup又回到0x00401000处了,

    继续开发我的操作系统吧

    展开全文
  • OpenSceneGraph-3.6.5-VC2019-64-Debug.7z
  • vc2019下编译失败

    2020-11-28 22:29:39
    直接打开vc2019下的工程,编译报错 vs版本是16.2.3 <p>1>D:\nana-master\include\nana\filesystem\filesystem_ext.hpp(44,29): error C2440: “return”: 无法从“std::basic_string,std::allocator\>”...
  • VC2019基于MFC对话框——加法计算器 目录 一、新建一个MFC项目 二、安装控件 三、为按钮等控件添加消息函数 四、运行 一、新建一个MFC项目 创建项目谁都会哈,这就不赘述了。 这里说一个我在安装完VC2019上...

    VC2019基于MFC对话框——加法计算器

    目录

    一、新建一个MFC项目

    二、安装控件

    三、为按钮等控件添加消息函数

    四、运行


    一、新建一个MFC项目

    创建项目谁都会哈,这就不赘述了。

    这里说一个我在安装完VC2019上MFC相关工具之后,出现的一个错误:

    (咱也不知道为什么有这个错误),然后通过一个博主的博客解决了问题,博客连接如下,需要自取。(感谢大佬!)

    https://blog.csdn.net/shang_0122/article/details/103158963 


    二、安装控件

    项目创建好之后,就可以直接在工具箱处选择相应控件安装,这里我们只需要三种控件:静态文本框(Static Text)、添加编辑框(Edit Control)、按钮(Button)。

    相应内容按照需求修改即可,别忘了该每一个控件的ID,利于后续区分。

    1. 设置2个Static Text,分别为 “ + ” ,“ = ”。

    2. 设置3个Edit Control,前两个用于接收用户输入的值,后一个设置为只读,用于显示计算后的值。同时修改类变量中的如下类容:

    3.设置1个“ 计算 ”按钮。ID为IDC_ADD_BUTTON1。

    三、为按钮等控件添加消息函数

    在MFC中,为了让按钮的点击有效,需要给按钮添加消息处理函数。这里只需要添加点击处理即可。

    打开“ 计算 ”按钮的类向导,点击BN_CLICKED,然后点击添加处理程序即可。

    然后MTC系统就会在AddDlg.cpp文件中生成一个消息处理函数OnClickedAddButton(),在这个函数里面进行你想要的点击" 计算 "按钮后的操作。即:

    值得注意的是UpdateData()函数,此函数的参数用于控制数据在控件和关联变量之间的传递方向。

    当参数为TRUE时,数据从控件传递到关联变量。即将用户输入编辑框的两个数值传入程序的对应变量中。

    当参数为FALSE时,数据从关联变量传递到控件。即将计算后的结果显示到编辑框中。

    四、运行

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 从vs2019提取vc++(x64位版)。纯属娱乐和学习使用。使用方法 1.在msys2系统,假设安装目录为/opt/vc,用下列命令设置环境变量 export PATH=/opt/vc/bin:$PATH export LIB=/opt/vc/lib export INCLUDE=/opt/vc/include...
  • VCCMake:使用VC2017/VC2019CMake编译开源源代码 开源地址 :https://github.com/dbyoung720/VCCMake.git 文件说明: Script\dlzip.cmd :从网络上下载源代码压缩文件; Script\dlgit.cmd :GIT 方式下载源代码; ...
  • vc2019中宏定义问题#define xxx 10

    千次阅读 2019-07-22 09:27:08
    vc2019中宏定义问题#define xxx 10 宏定义是预处理命令的一种,#define开头,提供了一种可以替换源代码中字符串的机制。通常情况下,我们在使用宏定义的时候只要按照#define xxx 10这个格式写编译就没有问题,但是...
  • win10, VC 2019;新建一个单文档工程; 运行结果如下; 此程序的VC6版本运行结果如下;暂时还不知道为什么2019里面没有彩色; 在2019中导入位图; 新建一个菜单,名为 创建; 为此菜单添加命令消息处理...
  • VC2019编译时出现 Platform Toolset 不匹配问题: C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(382,5): error MSB8020: The build ...
  • @第一次安装vc2019,运行之前dev c++程序报错TOC 之前一直是用DEV C++,后来觉得使用VC比较好,就下了VC2019 代码运行报错: 严重性 代码 说明 项目 文件 行 禁止显示状态 错误(活动) E0167 “LPSTR” 类型的实参与 ...
  • VC2019使用外部lib时,有会出现 “error LNK2026: 模块对于 SAFESEH 映像是不安全的”。 如何解决呢? 在当前工程的属性页中,填入/SAFESEH:NO
  • VC2019工作正常;安装了驱动环境以后,构建一个VC程序,出现错误: MSB8038 已启用 Spectre 缓解,但找不到 Spectre 缓解库。验证 Visual Studio 工作负荷包括 Spectre 缓解库。 LNK1104 无法打开文件“msvcrtd.lib...
  • VC2019编译opencv4.3

    2020-07-02 23:38:06
    步骤参考之前的文章,基本一致:VC2017编译OpenCV3.41+contrib 需要注意几点 如果是编译win32版本,在CMake的配置编译器环境,选择一个参数Win32,如下图: 下载第3方依赖模块(3rdparty)时,貌似需要科学上网 ...
  • 由vs2019编译得到的debug和release库,注意,release库vs中配置c++->代码生成->/MT,debug库vs中配置c++->代码生成->/MDd
  • MFC(VC2010升级到VC2019)

    2020-12-15 10:08:15
    找不到vcruntime.h:No such file or directory 解决:找到vcruntime.h的目录,比如D:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.28.29333\include 项目——属性----VC++目录---...
  • vc2019(1)

    2020-08-03 21:02:39
    Microsoft 基础类库是用于在 Microsoft Windows 中编程的应用程序框架。 MFC 采用 C++ 编写,它提供了执行以下操作所需的很多代码:管理窗口、菜单和对话框;执行基本输入/输出;存储数据对象的集合等。...
  • <p>Platform : VC 2019 CMake : updated to latest version before build. Did properly all git submodule update --init first as documented. <p>My machine is japanese Windows 10. (Note : my OS language is ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,637
精华内容 1,054
关键字:

vc2019