C 指针原理揭秘:基于底层实现机制 (5):C 语言概述 1.3.3

阅读数:9 2019 年 12 月 11 日 20:19

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

(随书网盘的开发环境)

内容简介
全书分为准备篇、基础篇、揭秘篇、实战篇。本书力求从底层实现机制进行解析,同时配合 C/C++ 编程技巧以及某些指针运用技巧,讲解如何提高程序效能,如何避免滥用指针。
准备篇中介绍 C 指针概述、UBUNTU 及开发环境配置、AT&T 汇编简介、编译原理基础;基础篇将对 AT&T 汇编以及 C 指针基础进行介绍;揭秘篇讲述高级 C 指针的实现机制以及 C++ 指针实现机制,同时讲解编程技巧和 C/C++ 指针高级应用;实战篇讲解解释语言指针、TCC 编译实践、垃圾回收等高级 C 指针应用话题。

FreeBSD 和 Ubuntu 的安装过程比较烦琐,并且安装后仍然需要配置 C 语言开发环境,读者若有兴趣可根据前面的介绍,自行搭建属于自己的 C 语言开发环境。为方便 Linux/UNIX 基础薄弱者,本书已经将 Linux 系统的 C 语言开发环境(包括 Ubuntu 操作系统)制作成虚拟机文件 my_ub.vdi(网盘地址: https://dwz.cn/uo3gCxWK ,提取码:457a),只需在 virtualbox 虚拟机中装载该文件即可使用。装载步骤具体如下。

1)新建虚拟电脑,可在此输入 my_ubuntu(如图 1-68 所示,也可输入其他名称)。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-68 新建虚拟电脑

2)选择内存大小为 512MB(图 1-69 所示)。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-69 设置内存大小

3)选择“使用已有的虚拟硬盘文件”选项(如图 1-70 所示)后,按右下角的“选择虚拟硬盘”按钮(文件夹内包含向上箭头的图标),选择随书网盘的 my_ub.vdi。装载成功后,界面如图 1-71 所示。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-70 装载虚拟硬盘

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-71 装载成功

4)点击“创建”按钮,完成 C 语言开发环境的装载,此时,虚拟机中已经创建了一个虚拟电脑 my_ubuntu(如图 1-72 所示)。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-72 虚拟电脑 my_ubuntu

5)在设置的“网络”选项中,设置“连接方式”为“桥接网卡”(如图 1-73 所示)。

某些电脑装载虚拟文件 my_ub.vdi 后,可能会出现找不到网卡的情况,在这种情况下,可使用如下命令删除规则文件,让 Ubuntu 重新查找网卡:

复制代码
$su
#cd /etc/udev/rules.d
#mkdir~/mybak
#mv *~/mybak
#reboot

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-73 桥接网卡

使用 PuTTY 等工具登录服务器进行测试。

提示 PuTTY 是自由的跨平台 SSH 客户端(SSH 协议是目前比较可靠的远程管理手段,可以有效防止信息泄露问题),可同时在 Win32 和 UNIX 系统下模拟 xterm 终端。在 Windows 下可以使用 PuTTY 客户端登录虚拟机中运行的 Ubuntu 服务器,输入命令,开发和编译 C 程序等,PuTTY 的下载地址为:
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

虚拟文件 my_ub.vdi 的普通用户(通常使用这个用户登录)为 myhaspl,密码为 168,root 用户(该用户为超级用户,通常使用 myhaspl 登录后,再使用 su 命令转到超级用户 root)的密码为 myhaspl,可通过下面的步骤登录服务器进行测试。

1)在虚拟机中输入 ifconfig 命令,查看虚拟机通过 DHCP 协议自动获取的 IP 地址。(如图 1-74,inet addr 处表明当前分配的 IP 为 192.168.1.8)。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-74 查看 IP 地址

2)使用 PuTTY 登录,在 HostName 处输入虚拟机的 IP 地址(如图 1-75 所示)。

3)当询问是否将该主机的信息加入缓冲时,可选择“是”(如图 1-76 所示)。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-75 PuTTY 登录

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-76 将主机信息加入缓冲

4)输入登录的用户名 myhaspl 及密码 168,登录成功后,返回当前服务器的硬盘和内存使用情况、IP 地址等基本状态(如图 1-77 所示)。

5)当光标停留在 $ 提示符之后,随意输入一个 Linux 命令(比如 ls,用于列出目录中的文件)检测命令执行是否成功(如图 1-78 所示)。

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-77 登录成功状态

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

图 1-78 ls 命令

6)上述步骤若均运行正常,则说明虚拟机加载成功,如果此时不再操作,则请输入 shutdown 命令关闭虚拟机中的 Ubuntu 系统,命令如下所示:

复制代码
myhaspl@myhaspl:~$ sudo shutdown -h now
[sudo] password for myhaspl:
myhaspl@myhaspl:~$
Broadcast message from myhaspl@myhaspl
(/dev/pts/0) at 22:21 ...
The system is going down for halt NOW!

C指针原理揭秘:基于底层实现机制(5):C语言概述 1.3.3

购书地址 https://item.jd.com/12533413.html?dist=jd

评论

发布