想要成为C++高手
文章平均质量分 53
独善其身,用作自学、自查C++相关常用知识
xuxuxucq
继往圣之绝学
展开
-
解决:警告 D9035 “Gm”选项已否决,并将在将来的版本中移除
找到项目属性下代码生成,将启用最小重新生成改为否即可。原创 2024-04-08 16:57:06 · 240 阅读 · 0 评论 -
解决:warning LNK4006:某某某 已在 某某某 中定义;已忽略第二个定义
描述下我的问题,在某个项目中,A项目是包含了B、C两个项目的,这三个项目都是用来生成静态库lib的。原本在A项目属性下的附加依赖项中,是添加了B.lib与C.lib的,这样一来就疯狂报4006的警告。将这两个附加依赖项删除即可。原创 2024-04-08 16:50:51 · 151 阅读 · 0 评论 -
glog的下载与使用
天下苦秦久矣!是否还在为不知道如何编译GLOG而苦恼?是否还在为编译的是静态库还是动态库而困惑?是否还在为编译完后如何使用而抓狂?看这个就够了!本文讲解glog下载、编译与简单配置使用,其余详细的那些有大把的博客在讲,可参阅别文。原创 2024-02-22 10:50:06 · 1077 阅读 · 0 评论 -
Socket中connect 函数与bind函数有什么区别
函数都是用于网络编程中的套接字操作,但它们的用途和作用略有不同。原创 2023-12-15 12:53:39 · 862 阅读 · 0 评论 -
JsonCpp的下载与使用
也是刚学,难免有谬误。一家之言,斟酌选择。原创 2023-12-12 14:17:54 · 598 阅读 · 0 评论 -
TinyXML库的下载与使用
而我这里使用方式是在我的项目中将其编译成.lib使用。如图,我在解决方案中新建了个TinyXml项目。将这个项目配置为.lib,设置好输出目录。使用时,在需要用到项目中配置添加该静态库,并包含头文件即可。注意,头文件的添加需要注意头文件位置,我这里将tinyxml.h放在了TinyXml文件夹中。最简单的使用方法:将上图标志的六个文件添加到项目中,之后在需要使用的文件里添加头文件。原创 2023-12-08 16:24:18 · 602 阅读 · 0 评论 -
实战——C++如何读取XML配置文件
首先需要搞定配置文件路径,这个功能不难,利用GetModuleFileNameA()、find_last_of()与。得到配置文件路径后就可以读取啦。其中用到TinyXML库,如何使用参见博客:(先空着没写呢)()配合就可以得到,这里不赘述。至于这几个函数作用,见置顶博客。读取内容如下的.xml文件。原创 2023-12-08 15:55:53 · 539 阅读 · 0 评论 -
解决 错误LNK2001无法解析的外部符号
要注意函数和变量的可公用性,只有全局变量、函数是可公用的。静态函数和静态变量具有相同的使用范围限制。当试图从文件外部访问任何没有在该文件内声明的静态变量时将导致编译错误或LNK2001。函数内声明的变量(局部变量) 只能在该函数的范围内使用。C++ 的全局常量只有静态连接性能。这不同于C,如果试图在C++的多个文件内使用全局变量也会产生LNK2001错误。一种解决的方法是需要时在 头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一种 方法是使用时给该变量赋以常数。原创 2023-12-07 16:39:47 · 714 阅读 · 1 评论 -
解决多项目上报错LNK2019 无法解析的外部符号 “public: __thiscall ..“,函数 _main 中引用了该符号 vs2022 C++
严重性 代码 说明 项目 文件 行 禁止显示状态错误 LNK2019 无法解析的外部符号 "public: __thiscall ……" ,函数 _main 中引用了该符号 DataProcess。原创 2023-12-06 09:46:54 · 725 阅读 · 1 评论 -
实战——BMP的读取与创建
这篇是为了实战读取一张BMP图像并将读完的数据写入另一幅BMP图,借此巩固一下对于BMP的理解和对文件操作相关函数的使用。原创 2023-11-30 14:19:37 · 416 阅读 · 1 评论 -
解决C4996 ‘fopen‘: This function or variable may be unsafe. Consider using fopen_s instead.
错误 C4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.在项目属性页找到C/C++下的预处理器,在其中的预处理器定义中添加_CRT_SECURE_NO_WARNINGS,完事后点击应用和确认。原创 2023-11-29 10:53:05 · 2899 阅读 · 1 评论 -
C++导入问题——使用BITMAPINFOHEADER最好导入Windows.h
一般在处理bmp图像时,需要使用BITMAPINFOHEADER用于定义信息头,用来后续接收bmp信息头信息。建议直接而不是<wingdi.h>。这时如果按照提示导入#include <wingdi.h>库文件,会发生很多报错,如下图这些错误都来自于导入的 <wingdi.h>库文件。原创 2023-11-29 10:27:56 · 449 阅读 · 1 评论 -
C++导入问题——使用string需要导入的库及导入后仍无法使用原因
类型以及与字符串相关的操作函数和类。通过包含这个头文件,就可以使用。注意:尽管导入了string头文件,依旧需要添加一句使用。命名空间,否则仍然无法使用。类型来声明和操作字符串变量。原创 2023-11-29 08:54:34 · 922 阅读 · 1 评论 -
C/C++程序入口函数的输入问题
但是,在大多数IDE中,你可以手动配置命令行参数来模拟在命令行中输入命令。例如,你可以在IDE的配置或调试选项中设置命令行参数,以便在调试时传递特定的参数给程序。通过配置命令行参数,你可以模拟在命令行中输入命令并为程序提供相应的输入信息。这样,你可以在IDE中进行调试,并检查程序在不同输入情况下的行为。通过命令行参数,可以向程序传递输入信息,例如文件名、选项、参数等。是C/C++程序中的入口函数,它是程序的起点。函数是程序的起点,但可以通过命令行输入参数来提供额外的输入信息给程序使用。原创 2023-11-28 09:12:15 · 399 阅读 · 0 评论 -
使用套接字进行通信
套接字(Socket)是计算机网络编程中的一个概念,用于在网络上进行通信。它是一种抽象的通信端点,可以通过网络进行数据的发送和接收。套接字提供了一种统一的编程接口,使得应用程序可以通过网络进行数据的传输和通信。它通过网络传输层协议(如TCP、UDP等)实现数据的可靠传输或者不可靠传输。套接字通常由以下几个要素组成:IP地址:用于标识网络上的主机或者设备。端口号:用于标识网络上的不同应用程序或者服务。协议:用于指定网络传输层协议,如TCP、UDP等。原创 2023-11-16 14:52:51 · 75 阅读 · 1 评论 -
高版本visual studio如何打开低版本vs项目
以2022打开2017项目为例展示高版本visual studio如何打开低版本vs项目原创 2023-11-03 15:26:58 · 1064 阅读 · 0 评论 -
C++如何操作文件
FILE *fp;定义了一个指向FILE类型的指针变量fp。FILE是C语言中用于处理文件输入和输出的结构体类型。该指针可以用于打开、读取、写入和关闭文件等操作。原创 2023-11-20 14:41:20 · 28 阅读 · 1 评论 -
如何在项目中使用线程
线程允许程序同时执行多个任务,可以将耗时的操作和需要并发处理的任务放在不同的线程中,从而提高程序的运行效率。类是C++标准库中用于创建和管理线程的类,它提供了一些成员函数和操作符,用于创建线程并执行指定的线程函数。函数就是Windows API提供的一个线程创建函数,用于创建一个新的线程并立即开始执行指定的线程函数。资源的同时访问:多个线程可以并发地访问共享资源,例如文件、数据库或网络连接,从而实现资源的高效利用。提高程序的响应能力:通过将耗时的操作放在后台线程中执行,可以使主线程保持响应,提高用户体验。原创 2023-11-15 16:05:05 · 40 阅读 · 1 评论 -
加载配置参数
加载项目配置参数一般分为获取运行程序路径、获取配置文件路径和读取配置文件。其中有几个函数值得记住。原创 2023-11-15 10:57:02 · 37 阅读 · 1 评论