<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jiangwudu的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/jiangwudu</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jiangwudu]]></copyright><item><title><![CDATA[Visual Studio中，通过dmp文件查崩溃]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/163274665</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/163274665</guid><author>jiangwudu</author><pubDate>Tue, 28 Jul 2026 15:31:11 +0800</pubDate><description><![CDATA[没有正确的 PDB，通常只能看到 DLL 名称和函数偏移，无法定位到源码行。需要注意：.exe/.dll/.pdb 必须和崩溃现场的版本一致，否则即使有 PDB，也可能无法正确加载。添加程序对应的符号目录，把你当前pdb文件添加进去，通常pdb文件和exe在同一目录下。如果是 C++ 程序，一般选择这个方式，这个过程加载的可能会比较久，需要耐心等待。已加载符号，说明符号加载成功，通常可以看到更准确的函数名和源码行号。未加载符号，可以右键模块，选择：加载符号或者查看：符号加载信息。]]></description><category></category></item><item><title><![CDATA[LNK1104 无法打开文件“xxx.lib“]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/147323783</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/147323783</guid><author>jiangwudu</author><pubDate>Fri, 18 Apr 2025 11:13:17 +0800</pubDate><description><![CDATA[确认了以后，发现还是不行，打开属性->链接器->常规->附加库目录。把第一步确认的文件位置直接加在这里。首先，需要确定编译环境中有"xxx.lib"文件，我这边在环境中查找，确实有这个lib文件。右键项目->属性->链接器->属性。确认当前文件包含在附加依赖项里面。其实这里最好不要用绝对路径，就是D://之类的，但是我这里懒得改了。]]></description><category></category></item><item><title><![CDATA[MSB8020错误：无法找到v142生成工具]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/147322887</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/147322887</guid><author>jiangwudu</author><pubDate>Fri, 18 Apr 2025 10:50:03 +0800</pubDate><description><![CDATA[今天在编译新模块的时候，环境是debugX64，出现了MSB8020错误：无法找到v142生成工具错误，右键项目打开属性，也确实显示V142未安装。但是在点击确定之后再编译，还是显示MSB8020错误：无法找到v142生成工具错误。没办法，又打开项目属性，把v142改成现有的。在网上查找解决方案，说是要重定解决方案。]]></description><category></category></item><item><title><![CDATA[vs调试时报错：变量已被优化掉，因而不可用]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/147213183</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/147213183</guid><author>jiangwudu</author><pubDate>Mon, 14 Apr 2025 11:14:53 +0800</pubDate><description><![CDATA[但是通过尝试发现还是显示变量被优化划掉，感觉可能是配置的问题，把ReleaseD改成Release以后就好了。随后，调整了项目->右键->属性里面的c/c++优化，改为已禁用（/Od）。今天调试代码的时候，发现显示我的变量被优化掉，不可用的问题。]]></description><category></category></item><item><title><![CDATA[【类型转换】判断string类型的编码格式]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/139410836</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/139410836</guid><author>jiangwudu</author><pubDate>Mon, 03 Jun 2024 11:49:34 +0800</pubDate><description><![CDATA[string为multi-byte 字符串，utf8均为 utf-8 格式的string，二者数据类型一样，但内部编码不一样，以下函数可以判断当前string类型字符串是否为utf-8编码格式。]]></description><category></category></item><item><title><![CDATA[c++ char类型赋值]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118974887</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118974887</guid><author>jiangwudu</author><pubDate>Wed, 21 Jul 2021 20:08:46 +0800</pubDate><description><![CDATA[char类型：存储字符，字母或者标点符号，其大小为ibit。
从技术层面上来讲，char类型存储的值依旧是int类型，例如在ASCII码中，整数65表示大写的A。
char的赋值
1)字符和常量初始化
#include &lt;iostream&gt;
using namespace std;

int main()
{
	
	char b = 65;//输出：A     是正确的，但是这是一种不好的编码风格。前提：系统使用的是ASCII码
	char a = '65';//输出：5 
	char a1 =]]></description><category></category></item><item><title><![CDATA[c++ && 与 || 逻辑问题]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118729573</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118729573</guid><author>jiangwudu</author><pubDate>Wed, 14 Jul 2021 15:50:27 +0800</pubDate><description><![CDATA[1、&amp;&amp;逻辑与， 全为true才返回true
特性：如果第一个表达式为false，则不对后续的表达式进行计算。
#include &lt;iostream&gt;
using namespace std;

int main()
{
	int a = 0;
	int b = 0;
	//++a表示在a调用前自增，a++表示在调用a后自增
	if (++a == 0 &amp;&amp; ++a == 0 &amp;&amp; ++a == 0)
	{
		//此处从第一个表达式开始就是错误的]]></description><category></category></item><item><title><![CDATA[c++11新特性 Null与nullptr]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118676483</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118676483</guid><author>jiangwudu</author><pubDate>Wed, 14 Jul 2021 15:32:59 +0800</pubDate><description><![CDATA[nullptr为c++11中新加入的。
C程序中的NULL通常被定义为：#define NULL ((void )0)，NULL实际上是一个空指针。
过程中发生了隐式类型转换，把void指针转换成了相应类型的指针。
c++中NULL由于void类型不允许隐式转换成其他类型，所有不代表空指针，而是0
c++11中nullptr代表空指针

...]]></description><category></category></item><item><title><![CDATA[c++中CString和String]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118691985</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118691985</guid><author>jiangwudu</author><pubDate>Wed, 14 Jul 2021 15:07:43 +0800</pubDate><description><![CDATA[今天发现在许多代码模块中运用均为CString而非的String类型。
进行查询后，对CString和String区别进行以下归纳总结：
1、使用的头文件及定义。
1)string所运用的头文件string是c++标准库头文件，包含了拟容器class std::string的声明，属于STL范畴，有许多内置函数。
2)CString运用头文件为cstring，是C标准库头文件。string.h的C++标准库版本，
包含了C风格字符串（NUL即’\0’结尾字符串）相关的一些类型和函数的声明。
例如strcmp]]></description><category></category></item><item><title><![CDATA[c++中bool与boolean]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118681870</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118681870</guid><author>jiangwudu</author><pubDate>Mon, 12 Jul 2021 19:41:09 +0800</pubDate><description><![CDATA[bool与boolean
以前对boolean类型定义概念并不清楚，以为boolean和bool类型在某种时候可以自由转换，但是发现并不是这样，他们只是长得像而已，没有明确的关联。
1. bool是c++中的一个关键字,属于c++类型的一种
bool一般在c++中只占用一个字节的长度，其值为true和false，其中true表示”真“，false表示”假“。
需要注意的是，虽然true表示”真“，false表示”假“，但是在进行输出时，会输出为的则为：真输出为1，假输出为0。
那么在对true和1之间相等的]]></description><category></category></item><item><title><![CDATA[c++中true和True、false和False的区别]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118680100</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118680100</guid><author>jiangwudu</author><pubDate>Mon, 12 Jul 2021 17:50:39 +0800</pubDate><description><![CDATA[要了解他们之间的差别，我首先分别输出他们的类型。

#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;typeinfo&gt;
using namespace std;

int main()
{
	cout &lt;&lt; typeid(true).name() &lt;&lt; endl;
	cout &lt;&lt; typeid(TRUE).name() &lt;&lt; endl;	
}



这里编译报错，表示“TRU]]></description><category></category></item><item><title><![CDATA[.dll处位于.exe中引发的异常：0xC0000005:读取位置XXX时发生访问冲突]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118571373</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118571373</guid><author>jiangwudu</author><pubDate>Thu, 08 Jul 2021 13:17:28 +0800</pubDate><description><![CDATA[.dll处位于.exe中引发的异常：0xC0000005:读取位置XXX时发生访问冲突
在进行c++代码编译时，出现了.dll处位于.exe中引发的异常：0xC0000005:读取位置XXX时发生访问冲突问题。 原代码如下：
for (auto iter = m_Vecc.begin(); iter != m_Vec.end(); ++iter)
{
	*iter++;
}

该段代码用途为：通过迭代器将m_vec动态数组中每个值增加1。
编译成功通过，但是在运行调试时出现问题。

最终发现是因为在执行该代]]></description><category></category></item><item><title><![CDATA[稳定性与兼容性-预定义宏]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/118520881</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/118520881</guid><author>jiangwudu</author><pubDate>Tue, 06 Jul 2021 15:06:37 +0800</pubDate><description><![CDATA[稳定性与兼容性-预定义宏
相比较于C89标准，C++11语言标准增加了一些预定义宏，如下图所示。

利用这些宏，可以检查机器环境对C便准和C库的支持情况。

]]></description><category></category></item><item><title><![CDATA[链表结点的删除]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/84259427</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/84259427</guid><author>jiangwudu</author><pubDate>Mon, 19 Nov 2018 20:22:22 +0800</pubDate><description><![CDATA[链表结点的删除
结点的删除分为两种情况：
（1）删除头结点。（需要改变头指针位置）
（2）删除中间，尾结点。（带删除结点的前驱必须有指针，将带删除结点的前驱与带删除结点的后继连起来）
例题：设head指向一个非空单项链表，且数据域的值不重复，在链表中删除关键字值为key的结点。
分析：
第一步：查找值为key的结点（分为能找到和不能找到两种情况）
方法：for(p=h;p&amp;amp;amp;&amp;amp;amp;p-&amp;amp;...]]></description><category></category></item><item><title><![CDATA[链表结点的查找]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/84259066</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/84259066</guid><author>jiangwudu</author><pubDate>Mon, 19 Nov 2018 19:57:14 +0800</pubDate><description><![CDATA[链表结点的查找
  **目标**：在一个单项链表中（所有数据不重复）中查找值为key的结点。并返回节点地址，若未找到返回NULL
 
方法一：
	注意：本题要求返回所查找元素key的结点地址，故输出时直接输出地址即可。

遍历链表，一一比对p-&amp;gt;data值是否等于所要查找元素key，若找到，则返回找到元素的地址，若未找到，则输出&quot;您查找的数值不存在。&quot;
代码实现：
Elensn* find(...]]></description><category></category></item><item><title><![CDATA[链表的逆向输出（多种方法实现）]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/84194869</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/84194869</guid><author>jiangwudu</author><pubDate>Sun, 18 Nov 2018 00:20:12 +0800</pubDate><description><![CDATA[链表的逆向输出
方法一：定义新数组
定义新的数组存放链表的值，将数组逆置后输出。这种方法很简单，但是浪费空间，相较而言不支持使用。
核心代码：
void printreverse(Elensn* head)
{
Elensn *p;
int among,a[N],i,j;
for(p=head,i=0;p!=NULL;p=p-&amp;amp;gt;next,i++)
{
a[i]=p-&amp;amp;gt;data;//将链...]]></description><category></category></item><item><title><![CDATA[Linux系统检测命令总结]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/84194072</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/84194072</guid><author>jiangwudu</author><pubDate>Sat, 17 Nov 2018 22:49:45 +0800</pubDate><description><![CDATA[1.top命令
a.作用：显示系统所用状态的信息，是“任务管理器“的加强版
b．格式：top -参数
c.参数
（a）-v：显示top程序的版本号
（b）-H:动态刷新top显示进程列表
d.top信息解释
（a）第一行：显示时间、运行时间、登录账户数；
Load average: 0:00 0:01 0:05
系统平均负载：1分钟 5分钟 15分钟
（b）第二行：进程总数、运行数、休眠数、停止数...]]></description><category></category></item><item><title><![CDATA[linux修改root密码]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/84193929</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/84193929</guid><author>jiangwudu</author><pubDate>Sat, 17 Nov 2018 22:38:12 +0800</pubDate><description><![CDATA[1.对虚拟机进行重启. 命令为：reboot
2.对第三个选项按e键，进入内核编辑界面

3.定位到Linux16所在行，找到ro，删除ro选项，改为rw init=/sysroot/bin/bash
将：
改为：

4.点击键盘ctir➕x
5.输入chroot /sysroot（回车）（转换体统为管理员系统，有权限修改密码）
6.LANG=en（切换语言转换为英文模式）
7.输入passwd	...]]></description><category></category></item><item><title><![CDATA[linux系统工作命令总结]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/84193801</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/84193801</guid><author>jiangwudu</author><pubDate>Sat, 17 Nov 2018 22:27:30 +0800</pubDate><description><![CDATA[linux系统工作命令总结
1.cd命令
a.作用：目录切换命令（不能用于文件），深蓝色为目录，灰白色为文件，黄色为设备（光驱） sd开头的为硬盘 swap为交换区	
b.格式：cd  路径（绝对/相对）
c.例：用户家目录： cd ～相当于cd /root
d.例：普通用户家目录： cd ～相当于 cd /home/普通用户名
f.例：返回上一级目录：cd …
g.例：配置文件目录：cd /et...]]></description><category></category></item><item><title><![CDATA[输出单向链表最大值]]></title><link>https://blog.youkuaiyun.com/jiangwudu/article/details/82731594</link><guid>https://blog.youkuaiyun.com/jiangwudu/article/details/82731594</guid><author>jiangwudu</author><pubDate>Mon, 17 Sep 2018 00:32:02 +0800</pubDate><description><![CDATA[方法一：返回最大数值

核心指针：



int printmax(Elensn* head)
{
    Elensn *p=head;
    int i=p-&amp;gt;data;
    for(;p!=NULL;p=p-&amp;gt;next)
        if(p-&amp;gt;data&amp;gt;i)
            i=p-&amp;gt;data;
    return(i);
}

方法二：返...]]></description><category></category></item></channel></rss>