首页 > 编程语言 >C\C++ 设置Visual Studio编译器使用C++17标准

C\C++ 设置Visual Studio编译器使用C++17标准

时间:2023-11-28 10:03:23浏览次数:36  
标签:语言 17 Visual C++ 编译器 Studio 二次开发 UG


文章作者:里海


简介:

        使用ISO C++17标准可以为开发人员带来许多好处,包括更简洁的代码、更高的运行效率、更好的硬件支持、更好的兼容性和可移植性,以及更好的多线程编程支持等。那么如何设置vs使用c++标准呢?下面是方法。注意需要vs2017及以上版本。

方法:

  1. 打开Visual Studio,然后打开要设置的项目。
  2. 在“解决方案资源管理器”中,右键单击项目,然后选择“属性”。
  3. 在项目属性窗口中,展开“配置属性” > “C/C++”,然后选择“语言”。
  4. 在右侧的“C++语言标准”下拉菜单中,选择“ISO C++17标准 (/std:c++17)”。
  5. 单击“应用”按钮,然后单击“确定”按钮保存更改。
  6. 这样,您就成功地将Visual Studio项目设置为使用C++17标准了。

C\C++ 设置Visual Studio编译器使用C++17标准_c++

C++语言在UG二次开发中的应用及综合分析

         C++ 是C语言的扩展,它既可以执行C语言的过程化程序设计,也可以进行以抽象数据类型为特点的基于对象的设计,以及面向对象的程序设计。C++ 在处理问题规模上具有很大的适应性。

C++不仅具有计算机高效运行的实用性特征,并且致力于提升大规模程序的编程质量以及程序设计语言的问题描述能力。

在UG二次开发中,C++语言具有以下特点:

  1. C++语言支持多种程序设计风格
  2. C++的许多特性以库的形式存在,保证了语言的简洁和开发运行的效率
  3. 与C语言相比,C++引入了面向对象的概念,使得UG二次开发的人机交互界面更加简洁
  4. 通过借助UG自带的2000多种API函数,结合高级语言C++以及编程软件Visual Studio,可以对UG进行二次开发
  5. 需要注意的是,市场上的Visual Studio和UG版本众多,并非所有版本都能兼容

C++语言在UG二次开发中的应用:

  1. 在UG二次开发中应用C++语言需要掌握C++语言的基础知识
  2. 创建NX Open Wizard时,需注意Visual Studio和UG的版本配置问题
  3. 在Visual Studio环境中创建程序,链接UG/NX,进行编译和测试,生成后缀名为dll的文件(必须启动UG Gateway才能运行)
  4. 在UG界面NX Open中运行后缀名为dll的文件,实现UG界面的二次开发
  5. 通常会使用UG/OpenMenuscript和UG/Open UI-Styler两种辅助开发工具,让开发更加容易,并可以得到更美观的UG界面

综合分析:

  1. C++是最广泛使用的开发语言之一,也是最早应用的工程类语言,比较完善
  2. 通过实际创建可以看出,C++语言的逻辑性很强,结构比较完整
  3. 然而,在开发过程中,由于该语言本身的复杂性,甚至有的开发人员难以理解其语义,加上C++编译系统自身的复杂性,编写难度较大,因此复杂C++程序的正确性难以保证,即使能够编写,编译器也可能存在一些问题
  4. 目前,各软件的外部接口并非十分完善,对C++编程软件的接口要求较高,在配置方面还存在一些技术性问题
  5. 如果要开发具有一定风格且具有一定难度系数的UG界面,选择C++语言作为开发方式更能满足开发者的需求

程序设计过程通常包括以下步骤:

  1. 问题分析:对要解决的问题进行深入的分析,理解问题的具体需求和限制。
  2. 需求定义:明确程序的目标和功能,包括用户需求、系统需求等。
  3. 设计:根据需求进行设计,包括算法设计、数据结构设计、界面设计等。
  4. 编码:根据设计的结果,使用一种编程语言将程序代码实现出来。
  5. 测试:通过各种测试方法来确保程序的正确性,包括单元测试、集成测试、系统测试等。
  6. 维护:对程序进行修改和完善,以解决可能出现的问题或满足新的需求。
  7. 文档编写:编写程序文档,描述程序的功能、操作方法、注意事项等。

标签:语言,17,Visual,C++,编译器,Studio,二次开发,UG
From: https://blog.51cto.com/wangpaifeixingy/8595268

相关文章

  • C++ 33.C++中的字符串类-狄泰软件学院
    C语言字符串的历史C语言不支持真正意义上的字符串C语言用字符数组和一组函数实现字符串操作C语言不支持自定义类型,因此无法创建字符串类型当年C语言主要用于开发UNIX操作系统,处理字符串的情况少,所以在当时的背景下没有让C语言中内置一个字符串类型。后来C语言越用越广泛,没办法只能......
  • C\C++ 专栏目录
    个人总结序号内容笔记01C++获取网卡名称和IP地址笔记链接02C++设置VisualStudio编译器使用C++17标准笔记链接03C++使用Pugixml库,轻松处理XML文件笔记链接04C++使用ShellExecuteEx调exe程序笔记链接05C++使用exception类,抛出自定义异常并捕获笔记链接06C++使用soc......
  • C++标准库类std::packaged_task
    std::packaged_task是C++11引入的标准库类,用于封装可调用对象,如函数等,并将封装对象作为异步任务进行管理,通过与std::future结合使用,完成异步任务结果的获取。#include<iostream>#include<thread>#include<future>std::stringpromise_string(std::stringstr){......
  • 实验4 现代C++标准库与类模板
    实验任务5:1.代码:textcoder.hpp:1#pragmaonce23#include<iostream>4#include<vector>5#include<array>6#include<string>7usingnamespacestd;89classTextCoder10{11private:12stringtext;13......
  • 支持修改键值的优先队列(以C++,Java为例)
    #include<queue>#include<functional>template<typenameT1,typenameT2>classmutable_priority_queue;template<typenameT1,typenameT2>classmutable_priority_queue{private:std::function<bool(conststd::pair<T1,T......
  • C++ vs Python
    WhyC++isfasterthanPythonhttps://www.freecodecamp.org/news/python-vs-c-plus-plus-time-complexity-analysis/SummaryTable编程语言stronglytyped?跨平台语言类型C++YesYes编译型PythonNoYes解释型参考资料stronglytypedprogrammingla......
  • Weblogic < 10.3.6 'wls-wsat' XMLDecoder 反序列化漏洞(CVE-2017-10271)
    Weblogic<10.3.6'wls-wsat'XMLDecoder反序列化漏洞(CVE-2017-10271)Weblogic的WLSSecurity组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令。环境搭建cdweblogic/CVE-2017-10271docker-compose......
  • 20231117上机编程[高可靠在线视频]
    某电信公司推出高可靠的在线视频业务。为了保证可靠性,公司针对不同视频类型,准备了不同的专用网络通道,并对指定视频类型服务进行通道分配。一个用户在一个时段只能使用一个视频服务,可以多次申请。请实现以下功能:VideoService(int[]channels,int[]charge) :初始化系统channel......
  • C++标准库类std::shared_future
    std::shared_future是C++11的标准库类,其与std::future的不同是允许多个线程使用,多个线程可以同步共享,同时其又不会阻塞等待异步任务的完成。std::shared_future同样也提供get()方法用于获取异步执行的结果。#include<iostream>#include<thread>#include<future>void......
  • 实验4 现代C++标准库与类模板
    实验任务5TextCoder.hpp#pragmaonce#include<iostream>#include<string>usingnamespacestd;classTextCoder{public:TextCoder(stringtext0):text{text0}{};stringget_ciphertext();stringget_deciphertext();private:s......