<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[NKU_Yang的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/NKU_Yang</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; NKU_Yang]]></copyright><item><title><![CDATA[2021春招实习面经——开发方向]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/116307903</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/116307903</guid><author>NKU_Yang</author><pubDate>Fri, 30 Apr 2021 19:46:17 +0800</pubDate><description><![CDATA[2021春招实习面经——开发方向
文章目录2021春招实习面经——开发方向前言一、字节跳动——C++开发（一面挂）二、天津中力（大概算是中小厂吧，无语挂）三、天津某事业单位（小厂，开发offer）四、拓尔思（天津中厂，管培offer）五、阿里云系统架构实习生（口头offer）笔试一面二面HR面上海分部某主管电话联系总结


前言
3月的时候脑子一热想在暑期找个实习，于是一头加入浩浩荡荡的春招大军。历时两个月终于尘埃落定，昨天在HR面中收到阿里云操作系统团队的口头offer，不过具体岗位未定。今天上午接到上海]]></description><category></category></item><item><title><![CDATA[GPGPU-sim环境搭建教程（详细）]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/114662776</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/114662776</guid><author>NKU_Yang</author><pubDate>Thu, 11 Mar 2021 15:18:52 +0800</pubDate><description><![CDATA[GPGPU-sim环境搭建教程（详细）源代码部署环境搭建添加环境变量部署GPGPU-sim使用GPGPU-sim
环境配置：Ubuntu18.04, CUDA 11
GPGPU-sim能够在Linux系统下，提供对GPU的功能模拟和性能仿真，让你在没有装NVIDIA显卡的情况下可以编译并运行CUDA程序。当然它更重要的意义是，可以通过修改仿真参数，让开发者修改GPU内部架构，并进行性能仿真，以针对自己的项目需求进行更好的代码设计，获得更好的性能表现。
本文提供GPGPU-sim的环境搭建教程以供大家参考。
]]></description><category></category></item><item><title><![CDATA[CUDA编程——图的表示及BFS算法]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/110734066</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/110734066</guid><author>NKU_Yang</author><pubDate>Sun, 06 Dec 2020 15:17:56 +0800</pubDate><description><![CDATA[CUDA编程——图的表示及常用算法（BFS, SSSP, APSP）
最近根据老板要求，在学习CUDA编程，昨天看了一篇很久之前的论文，《Accelerating large graph algorithms on the GPU using CUDA，说是第一篇介绍CUDA图形算法的论文，主要包括BFS, SSSP和APSP在GPU编程中的实现过程。今天写这篇博客复盘一下

...]]></description><category></category></item><item><title><![CDATA[ARP原理概述——基于WinPcap发送ARP请求数据包获取远程MAC地址]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/110599583</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/110599583</guid><author>NKU_Yang</author><pubDate>Fri, 04 Dec 2020 00:33:20 +0800</pubDate><description><![CDATA[ARP原理概述——基于WinPcap发送ARP请求数据包获取远程MAC地址ARP协议ARP概述ARP工作原理ARP数据包格式编写程序发送ARP请求获取本机和远程IP的MAC注意：
ARP协议
ARP概述
互联网中，IP地址的作用是屏蔽物理网络地址的差异，方便访问和数据传输，为上层用户提供一种统一的地址格式。但是地层的物理网络还是得通过物理地址发送和接收信息。那么当两台主机进行通信的时候其实还是需要知道MAC地址的。ARP（Address Resolution Protocol）是以太网中常用的经IP地址与M]]></description><category></category></item><item><title><![CDATA[解决Windows环境下（VS2013）CUDA编程_syncthreads()函数未定义的方法]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109891082</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109891082</guid><author>NKU_Yang</author><pubDate>Sat, 21 Nov 2020 10:33:45 +0800</pubDate><description><![CDATA[解决Windows环境下（VS2013）_syncthreads函数未定义的方法
最近开始学习GPU编程和高性能计算，看完了长达8小时的音频PPT课件后，兴冲冲的立马自己尝试了一下用GPU执行矩阵乘法的代码。在这个过程中遇到一个问题，那就是当我调用_syncthreads()函数时，VS2013编译器一直显示这个函数未定义，我的cuda版本是11.1，立刻百度一下，发现网上的说法主要有两种：

未包含头文件device_functions.h。
有必要说一下，这个回答绝对是坑，因为你打开这个头文件 ，会发现]]></description><category></category></item><item><title><![CDATA[广度寻路算法C++实现]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109654410</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109654410</guid><author>NKU_Yang</author><pubDate>Thu, 12 Nov 2020 21:15:14 +0800</pubDate><description><![CDATA[广度寻路算法C++实现
广度寻路和深度寻路算法是两种常用的图形搜索算法，当然这里的寻路，是指在一个二维平面上，我们将平面划分为许多个方格，给定目的地和起始地，寻找到一条起点到终点之间的路径。广度寻路算法能找到最短路径，而深度寻路算法并不保证找到的路径是最短的路径。但由于广度寻路算法中的循环嵌套比较多，耗费资源大，因此广度寻路算法更适合用于小一点的地图场景。而深度寻路算法就更适合开阔的大地图。
本篇文章来介绍广度寻路算法，有关深度寻路算法的之后再更。
所谓广度寻路，就是将起点作为根节点构造一棵树，每个结点的孩]]></description><category></category></item><item><title><![CDATA[编译原理学习（三）——Flex实现词法分析器（附Flex使用简介）]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109549514</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109549514</guid><author>NKU_Yang</author><pubDate>Sat, 07 Nov 2020 17:52:24 +0800</pubDate><description><![CDATA[编译原理（三）——Flex实现词法分析器（附Flex使用简介）词法分析器设计LEX源文件结构定义部分识别规则部分辅助函数部分LEX文件及Linux环境下编译
词法分析器设计
词法分析器，又叫扫描器，其功能是从左往右逐个字符地对源程序进行扫描，然后按照源程序的构词规则识别出一个个单词符号，把作为字符串的源程序等价的转换为单词符号串的中间程序。单词符号是程序设计语言中的基本语法单元。我们尝试设计一个能扫描C语言子集的词法分析器，我们的单词分为以下5种：

关键字：程序设计语言中定义的具有固定意义的单词，比如C语]]></description><category></category></item><item><title><![CDATA[C++编写爬虫脚本爬取网站图片]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109489127</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109489127</guid><author>NKU_Yang</author><pubDate>Wed, 04 Nov 2020 14:39:31 +0800</pubDate><description><![CDATA[C++编写爬虫脚本爬取网站图片整体代码设计思路具体功能实现初始化网络库url中爬取图片获取网页源代码连接主机url中获取主机名和文件名html中提取连接html中提取图片链接获取并保存图片总结
爬虫是一种常用的技术手段，目前大家经常见到的爬虫脚本大多是用Python写的，但本着“C语言是世界上最强大的语言”的信仰，今天我来给大家分析一个用C写的爬虫脚本，可以通过广度遍历爬取目标网站的图片。其实编写一个这样的简易脚本对于我们理解网络协议和网络通信机制也是很有帮助的，而且用C来写的话能帮助我们深入理解底层逻辑，]]></description><category></category></item><item><title><![CDATA[C语言基础——链表实现一个简易学生信息管理系统]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109457856</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109457856</guid><author>NKU_Yang</author><pubDate>Mon, 02 Nov 2020 21:24:49 +0800</pubDate><description><![CDATA[C语言链表实现一个简易的学生信息管理系统
这个是项目是大一学习C语言时的期末作业，当时身为小白做这个作业也是颇费了一番功夫，现在又将这个项目优化了一下，在命令行中提供了一个简易的“可视化”页面，另外增加了对文件进行读写的功能（输入的信息会自动写入一个文件中进行保存），上传到这里以供大家交流学习使用，希望可以帮到需要的人。做这个项目对于新手加深对指针的理解以及熟悉如何构造和使用链表非常有好处。
首先是一个头文件
//student.h
#include &lt;stdio.h&gt;
#include &lt]]></description><category></category></item><item><title><![CDATA[编译原理学习（二）——Yacc实现中缀表达式转后缀]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109456809</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109456809</guid><author>NKU_Yang</author><pubDate>Mon, 02 Nov 2020 20:38:25 +0800</pubDate><description><![CDATA[Yacc实现中缀表达式转后缀
由于需要返回的是一个后缀表达式，是一个字符串，因此YYSTYPE需要声明为char*, 而词法分析函数中不仅需要分析运算符，多位十进制整数，空白字符，还需要识别标识符ID。而对于多位十进制整数，不再需要得到整数值，而是需要得到整数对应的字符串。对于多位十进制整数，当读到一个字符为整数字符时，连续读接下来的数字字符直至读到不为数字字符的字符，调用ungetc 函数将读出的非数字字符放回缓冲区，将读到的若干数字字符存为一个字符串, 最后需要在字符串的最后添加结束符\0, 将这个字符]]></description><category></category></item><item><title><![CDATA[编译原理学习（一）——Yacc实现简单的计算器并自主实现yylex()函数]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109456373</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109456373</guid><author>NKU_Yang</author><pubDate>Mon, 02 Nov 2020 20:22:46 +0800</pubDate><description><![CDATA[Yacc实现简单的计算器并自主实现yylex函数
Yacc是用于构造语法分析器的常用工具，本文中用Yacc实现了一个简单的计算器，并自主实现了yylex()函数，通常这个函数不写的话系统也会自动生成一个，但自己写一遍有助于理解编译器的工作原理，对于新手学习很有帮助。这个计算器在进行输入时，简单表达式以分号结束，它会自动忽略空格和tab。
%{
#include&lt;stdio.h&gt;
#include&lt;stdlib.h&gt;
#include&lt;ctype.h&gt;
#define YY]]></description><category></category></item><item><title><![CDATA[C++ SOCKET多线程编程实现聊天小程序]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109455048</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109455048</guid><author>NKU_Yang</author><pubDate>Mon, 02 Nov 2020 19:53:38 +0800</pubDate><description><![CDATA[SOCKET多线程编程实现聊天小程序TCP/IP协议与SOCKET什么是网络协议？TCP/IP体系结构与SOCKETSOCKET编程Server端Client端总结
TCP/IP协议与SOCKET
什么是网络协议？
计算机网络中，各个实体之间的数据交换必须遵守事先约定好的规则，这些规则就称为协议。
网络协议的组成要素有：
1.语法，数据与控制信息的结构或格式
2.语义：需要发出何种控制信息，完成哪些动作以及做出何种响应
3.时序：事件实现顺序的详细说明
在一个网络协议中，通信的实体的相同层次的结构必须执行相]]></description><category></category></item><item><title><![CDATA[Windows环境（VS2013）基于WinPcap编写程序抓取IP数据包]]></title><link>https://blog.youkuaiyun.com/NKU_Yang/article/details/109452251</link><guid>https://blog.youkuaiyun.com/NKU_Yang/article/details/109452251</guid><author>NKU_Yang</author><pubDate>Mon, 02 Nov 2020 16:51:36 +0800</pubDate><description><![CDATA[Windows环境（VS2013）基于WinPcap编写程序抓取IP数据包环境搭建代码stdafx.hmain.cpp
环境搭建
WinPcap虽然已经停止更新了，但对于新手来说还是有学习价值的。想使用它进行编程的话，需要在winpcap官网下载winpcap和wpdpack，网址链接：WinPcap官网

首先安装WinPcap，下载完之后在你设置的地址中应该有一个类似于“install.exe”的东西，双击运行然后安装就行。
进行全局变量配置
下载好wpdpack后，打开VS2013新建一个工程，在工程]]></description><category></category></item></channel></rss>