到哪里做网站教育网站建站需求

张小明 2026/1/9 11:21:59
到哪里做网站,教育网站建站需求,网站开发英文术语,企业+php网站建设一、模块开发 在前面的开发中#xff0c;基本都是使用标准库中的模块直接调用。在本文中#xff0c;将自己开发一个模块供程序调用#xff0c;这样#xff0c;就可以真正的进入了模块自行开发的实际应用场景。这和前面的动态库开发的思想有些类似#xff0c;大家可以对比着…一、模块开发在前面的开发中基本都是使用标准库中的模块直接调用。在本文中将自己开发一个模块供程序调用这样就可以真正的进入了模块自行开发的实际应用场景。这和前面的动态库开发的思想有些类似大家可以对比着来看。二、编写一个模块并调用看一下自定义模块的代码//exportdemo.hexport module demo;import std;namespace demo{exportintAdd(int,int);export class exportDemo{public:exportDemo();public:voiddisplay();};}//exportdemo.cppmodule demo;import std;namespace demo{intAdd(inta,intb){returnab;}exportDemo::exportDemo(){}voidexportDemo::display(){std::coutthis is demo module!std::endl;}}标准的头文件加cpp文件再看一下调用代码import std;import demo;intmain(){demo::exportDemo d;d.display();std::coutmain app!Add return:demo::Add(1,2)std::endl;return0;}首先使用命令行进行编译1. 先编译std.o g -stdc23 -fmodules-ts -fsearch-include-path -c bits/std.cc 在当前目录下可以发现生成的std.o和gcm文件夹 2. 编译模块文件 g -stdc23 -fmodules-ts -c exportdemo.h 会报一个错误 exportdemo.h:4:8: error: module-declaration not permitted in header-unit 4 | export module demo;看错误的说明是不能将模块声明放到头文件好那就随便起一个名字比如exportdemo.cm,再次编译g -stdc23 -fmodules-ts -c exportdemo.cm会报另外一个警告和一个错误g: warning: exportdemo.cm: linker input file unused because linking not done error: exportdemo.cm: linker input file not found: 没有那个文件或目录看这样子应该是没找到相关的输入文件。再次修改文件名称为exportdemo.cppm并重新编译g -stdc23 -fmodules-ts -c exportdemo.cppm编译成功。给大家留一个问题这个模块文件名称是否可以随便取叫exportdemo.ixx或exportdemo.ccm、exportdemo.cxxm可不可以还有没有其它的规则限制再模块编译成功的基础上继续编译3. 编译所有单元 g -stdc23 -fmodules-ts -o demo exportdemo.cpp main.cpp编译成功在当前路径下有一个demo可执行文件执行它./demo this is demo module! main app!Add return:3说明编译流程整体走通没有问题。三、使用cmake编译先看一下cmakelists.txt的文件内容cmake_minimum_required(VERSION 3.31.6 ) set(CMAKE_EXPERIMENTAL_CXX_IMPORT_STD 0e5b6991-d74f-4b3d-a41c-cf096e0b2508) set(CMAKE_CXX_COMPILER clang) set(CMAKE_C_COMPILER clang) set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -stdliblibc) set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -stdliblibc) set(CMAKE_CXX_EXTENSIONS OFF) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_MODULE_STD 1) set(CMAKE_EXPORT_COMPILE_COMMANDS ON) project(cmakeMouduleFirst LANGUAGES CXX) add_executable(cmakeMouduleFirst) target_sources(cmakeMouduleFirst PRIVATE main.cpp exportdemo.cpp PRIVATE FILE_SET demoMmodules TYPE CXX_MODULES FILES exportdemo.cppm )文件内容整体和上一次的没有太大差别主要是增加了对新增模块的引用在target_sources增加相关的模块文件编译文件。然后使用cmake编译mkdir build cd build cmake -G Ninja .. -- The CXX compiler identification is Clang 20.1.8 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/clang - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Configuring done (1.9s) CMake Error in CMakeLists.txt: The CXX_MODULE_STD property on the target cmakeMouduleFirst requires that the __CMAKE::CXX23 target exist, but it was not provided by the toolchain. Reason: Experimental import std support not enabled when detecting toolchain; it must be set before CXX is enabled (usually a project() call) -- Generating done (0.0s) CMake Generate step failed. Build files cannot be regenerated correctly.这是原来用g编译才报得错误啊想了一下忽然想到刚刚编译了一个最新cmake 4.0,并临时在环境变量里进行了指定。会不是是这个原因呢然后查看了一下cmake版本果然是4.0,重新打开一个终端再次查看了一下cmake版本是3.31.6。重新使用上面的命令编译cmake -G Ninja .. -- The CXX compiler identification is Clang 20.1.8 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/clang - skipped -- Detecting CXX compile features CMake Warning (dev) at /usr/share/cmake-3.31/Modules/Compiler/CMakeCommonCompilerMacros.cmake:248 (cmake_language): CMakes support for import std; in C23 and newer is experimental. It is meant only for experimentation and feedback to CMake developers. Call Stack (most recent call first): /usr/share/cmake-3.31/Modules/CMakeDetermineCompilerSupport.cmake:113 (cmake_create_cxx_import_std) /usr/share/cmake-3.31/Modules/CMakeTestCXXCompiler.cmake:83 (CMAKE_DETERMINE_COMPILER_SUPPORT) CMakeLists.txt:19 (project) This warning is for project developers. Use -Wno-dev to suppress it. -- Detecting CXX compile features - done -- Configuring done (0.4s) -- Generating done (0.0s)编译成功。这就是那个cmake中“CMAKE_EXPERIMENTAL_CXX_IMPORT_STD”对应的ID的问题。执行编译后的可执行文件可呈现与直接编译相同的结果。四、总结对新技术的学习不用突飞猛进细雨无声慢慢掌握即可。其实对于模块编程目前尚未听说哪家公司已经在大规模的铺开所以还是有时间慢慢来学习并应用于实践的。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

小企业网站建设有多少做网站从什么做起

DeepSeek-V3架构革命:混合专家模型的技术基因重塑与大模型训练新范式 【免费下载链接】DeepSeek-V3 项目地址: https://gitcode.com/GitHub_Trending/de/DeepSeek-V3 DeepSeek-V3的技术突破标志着混合专家架构进入全新时代,其671B总参数规模下仅…

张小明 2026/1/7 1:17:22 网站建设

免费网站用官微建站上海百度seo牛巨微

简介 本文详细指导零基础用户如何使用RAGFlow开源检索增强生成引擎,结合大模型LLM,在本地快速搭建RAG知识库、智能搜索问答系统、Agent智能助手等应用。文章涵盖系统架构、环境配置、模型设置、知识库构建、专属聊天助理创建、智能搜索实现、Agent开发以…

张小明 2026/1/7 1:18:57 网站建设

带后台的网站模板新增接入 新增网站

第一章:Open-AutoGLM 暴力破解防护优化在部署 Open-AutoGLM 这类基于大语言模型的自动化系统时,API 接口常面临高频恶意请求与暴力破解攻击。为保障服务稳定性与数据安全,需构建多层级防护机制,结合速率限制、行为分析与动态响应策…

张小明 2026/1/7 1:22:29 网站建设

有下划线的网址是什么网站世界著名小型建筑设计

ESP32连接OneNet云平台:从踩坑到上线的实战全解析 你是不是也经历过这样的夜晚? ESP32连上了Wi-Fi,IP地址也拿到了,可就是死活连不上OneNet; 串口打印一行又一行“MQTT connection failed”,重试了几十次…

张小明 2026/1/6 5:16:44 网站建设

eclipse做的网站烟台网络推广

Elasticsearch桶聚合:深入解析与应用 1. 桶聚合概述 桶聚合是一种强大的数据聚合方式,与指标聚合不同,它返回的数据不是单一指标,而是一系列键值对,这些键值对被称为桶。例如,术语聚合可以返回给定字段中每个术语关联的文档数量。桶聚合的一个重要特性是支持子聚合,即…

张小明 2026/1/8 21:42:22 网站建设

网站开发微信支付室内装修设计网

在敏捷软件开发中,用户故事作为需求表达的核心载体,其测试验收标准(Acceptance Criteria)构成了开发团队、测试人员与产品经理之间的关键契约。根据2024年ISTQB行业调查报告显示,超过67%的软件缺陷源于需求理解不一致&…

张小明 2026/1/7 1:31:01 网站建设