<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[syntherbb84的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/syntherbb84</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; syntherbb84]]></copyright><item><title><![CDATA[C语言变量及其说明（C Primer）]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/110630318</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/110630318</guid><author>syntherbb84</author><pubDate>Fri, 04 Dec 2020 10:39:50 +0800</pubDate><description><![CDATA[1、自动存储类：变量在声明时可以加上auto（也可不加），自动存储，具有代码块作用域，用到它时分配内存，用完了就释放内存，它的声明方式是在代码块内，链接为空；
2、寄存器存储类：寄存器变量声明时只是向编译器发出请求，而不是命令。如果幸运，寄存器变量被存储到寄存器中享受高速访问和操作；如果请求被编译器拒绝，那么该变量就是个普通变量。自动存储，具有代码块作用域，声明方式在代码块内，使用关键字register，链接为空；
3、空链接的静态存储类：空链接变量就是只在一个代码块内被操作的变量，静态就是这个变量在整个文]]></description><category></category></item><item><title><![CDATA[Linux下网络问题笔记]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/106170607</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/106170607</guid><author>syntherbb84</author><pubDate>Sun, 17 May 2020 10:22:07 +0800</pubDate><description><![CDATA[使用虚拟机在Ubuntu16.04环境下配置网络。
首先将虚拟机的网络适配器改成NAT模式
如图

然后在Linux中进行网络配置
如下图，点击Edit Connections

选择网络，点击Edit

进入IPv4 Settings子菜单，在Method中选择第一项：Autoumatic.
这个省心，反正手动设置我不会~

ping一下百度

发现成功！

...]]></description><category></category></item><item><title><![CDATA[8086硬件笔记]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/106122748</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/106122748</guid><author>syntherbb84</author><pubDate>Thu, 14 May 2020 16:27:18 +0800</pubDate><description><![CDATA[为了方便学习操作系统，我们必须了解8086的硬件机制。但是在学习的过程中务必要分清主次，即在学习的时候，对于硬件资源应该是“会用就行，简单了解就好”。
8086CPU保护模式是基于两大核心硬件机制而实现的：段机制和页机制。
&nbsp;要了解段机制我们首先要知道什么是段寄存器。段寄存器是8086CPU提供的形如ds，cs，es等等的寄存器。从下面代码中我们可以看到：段寄存器不能直接赋值。
int main() {
int var = 0;
__asm {
mov ax, ss
mov ds, ax // 将]]></description><category></category></item><item><title><![CDATA[操作系统引导程序总体功能]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/105354024</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/105354024</guid><author>syntherbb84</author><pubDate>Mon, 06 Apr 2020 23:06:01 +0800</pubDate><description><![CDATA[当 PC 的电源打开后， 80x86 结构的CPU 将自动进入实模式，并从地址 0xFFFF0 开始自动执行程序代码，这个地址通常是 ROM-BIOS 中的地址。 PC 机的 BIOS 将执行系统的某些硬件检测和诊断功能，并在物理地址 0 处开始设置和初始化中断向量。此后，它将可启动设备的第一个扇区（磁盘引导扇区， 512 字节）读入内存绝对地址 0x7C00 处，并跳转到这个地方开始引导启动机器...]]></description><category></category></item><item><title><![CDATA[李志军老师操作系统实验一笔记+实验代码注释]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/105353865</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/105353865</guid><author>syntherbb84</author><pubDate>Mon, 06 Apr 2020 23:02:03 +0800</pubDate><description><![CDATA[bootsect.S
使用大S的原因：使用这样的后缀可以让 as 使用 GNU C 编译器的预处理功能，因此可以在汇编语言程序中包括"#include"、 “#if"等语句。本程序使用大写后缀主要是为了能在程序中使用”#include"语句来包含进 linux/config.h 头文件定义的常数。–引自《Linux内核完全注释》
部分代码解读：
.globl begtext, begdata, b...]]></description><category></category></item><item><title><![CDATA[有返回值的函数定义中没有写return]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/103894321</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/103894321</guid><author>syntherbb84</author><pubDate>Wed, 08 Jan 2020 16:49:04 +0800</pubDate><description><![CDATA[有返回值的函数，在其定义中没有写return，那么调用该函数后会自动返回0.
例如：int select（）
{
。。。
//return 0;
//return 0已经被注释掉
}
那么该函数返回0.

...]]></description><category></category></item><item><title><![CDATA[用指针来代替return返回参数]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/103273869</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/103273869</guid><author>syntherbb84</author><pubDate>Wed, 27 Nov 2019 13:16:39 +0800</pubDate><description><![CDATA[C语言指针使用笔记
学习了一段时间指针的使用，发现照着教材抄不知道自己的掌握程度，遂拿着源代码改了一下。以下代码完成了对10个数的求和，求和函数通过获取变量marbles（数组名）和SIZE（数组长度）来求和；我把该程序的子函数sump改成void类型，使用指针来传递结果。
《C Primer Plus》一段原始代码如下：
#include &lt;stdio.h&gt;
#define SIZE...]]></description><category></category></item><item><title><![CDATA[while里的while里的continue（嵌套中的continue）]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/103161174</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/103161174</guid><author>syntherbb84</author><pubDate>Wed, 20 Nov 2019 14:25:37 +0800</pubDate><description><![CDATA[问题
嵌套中的continue会使程序跳到哪里呢？我翻了一下《C Primer Plus》第7章并从中了解到：嵌套中的continue仅仅影响“包含它的最里层的结构”。这里我利用第8章中的一段代码来印证这一特性。
代码如下
//guess.c -- 一个低效且错误的猜数程序 
#include &lt;stdio.h&gt;
int main(void)
{
	int guess = 1;
	pr...]]></description><category></category></item><item><title><![CDATA[创建一个更友好的用户界面]]></title><link>https://blog.youkuaiyun.com/syntherbb84/article/details/103140197</link><guid>https://blog.youkuaiyun.com/syntherbb84/article/details/103140197</guid><author>syntherbb84</author><pubDate>Tue, 19 Nov 2019 13:24:03 +0800</pubDate><description><![CDATA[第一次写博客
创建一个更友好的用户界面
getchar函数具有缓冲功能，这在使用中可能会导致一些很傻的现象。
代码如下
//guess.c -- 一个低效且错误的猜数程序 
#include &lt;stdio.h&gt;
int main(void)
{
	int guess = 1;
	printf("Pick an integer from 1 to 100. I will try to "...]]></description><category></category></item></channel></rss>