C++核心编程
C++核心编程本阶段主要针对C++==面向对象==编程技术做详细讲解,探讨C++中的核心和精髓。
1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域
代码区:存放函数体的二进制代码,由操作系统进行管理的
全局区:存放全局变量和静态变量以及常量
栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等
堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收
内存四区意义:
不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程
1.1 程序运行前 在程序编译后,生成了exe可执行程序,未执行该程序前分为两个区域
代码区:
存放 CPU 执行的机器指令
代码区是共享的,共享的目的是对于频繁被执行的程序,只需要在内存中有一份代码即可
代码区是只读的,使其只读的原因是防止程序意外地修改了它的指令
全局区:
全局变量和静态变量存放在此.
全局区还包含了常量区, 字符串常量和其他常量也存放在此.
==该区域的数据在程序结束后由操作系统释放= ...
code
32e6b644a6e4babdb23ee0fb559d8970f3faa85f922fb5e4dd7122f2db73f1ab7b3d4d2bb5c8545b03192223e13d8d273e45ed6a122e2b346cbd19c43be955327bc198e2759c9736a1a3f6a372256f319a47d68eaccdfdf530313b2a3577004a3cd599a70d53bed4decb4f068a4170552f2016e5179da3d5d3111dcdd4580ec4ecc4d4f232e4f372a01d33ab9a940ebf6ef5aa4ed2bc60f0322b984c9af9f3522e2f6766fab2ec5c74e120001d0737e01f37ad50d218c92ba0fa891a32530823178faa1dd6e07a6755c5cd10d46731a6ecca039db30a792f66bd7db8586590c11ba85fed9c4ed0ddc071b81c38c68b13f446642644aef3465 ...
个人常用命令记录
个人常用命令记录1. linux操作1.1 软连接ln -snf 源文件 目标文件
删除软链接文件: rm -f 软链接文件
1.2 内核模块加载insmod 安装内核模块,在文件/etc/rc.local中加载你想要的模块程序即可实现开机自动加载该模块
rmmod 卸载内核模块
1.3 解压缩tar 打包: tar -zcvf tmp.tar.gz /tmp/
tar 解包: tar -zxvf tmp.tar.gz
1.4 编译生成库动态库: gcc -shared -o libmytest.so a.o b.o c.o
查看so文件链接的库:ldd a.so
查看so文件的函数列表:nm -D a.so
查看so文件的导出函数及源文件信息:abjdump -tT a.so
在外部告诉程序,动态库在哪里有两种方法:
将 libmytest.so copy到/lib/ 或 /usr/lib/ 下
在 LD_LIBRARY_PATH 变量中指定库文件路径 export LD_LIBRARY_PATH=自定义动态库的路径
静态库: ar -crv libmyhello.a he ...
linux 常用命令
文件与目录操作命令1.1文件内容查询命令grep、fgrep、egrep
语法:grep[选项][查找模式][文件名1,文件名2,⋯⋯]
选项: -E 每个模式作为一个扩展的正则表达式对待
-F 每个模式作为一组固定字符串对待,而不作为正则表达式
-i 比较时不区分大小写
-l 显示首次匹配匹配串所在的文件名并用换行符将其分开。当在文件中多次出现匹配串时,不重复显示次文件名;
-x 只显示整行严格匹配的行
1.2文件查找命令 find、locate语法:find 起始目录 寻找条件 操作
以名称和文件属性查找
-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符、?、[]。
-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符、?、[]。
-gid n 查找属于ID号为n的用户组的所有文件。
-uid n 查找属于ID号为n的用户的所有文件。
-group‘字串‘ 查找属于用户组名为所给字串的所有的文件。
-user‘字串‘ 查找属于用户名为所给字串的所有的文件。
-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符* ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment
Markdown使用说明
欢迎来到 StackEdit 中文版!你好!我是你在 StackEdit中文版 中的第一个 Markdown 文件。如果你想了解 StackEdit中文版,可以阅读此文章。如果你想玩 Markdown,你也可以编辑此文章。另外,您可以通过打开导航栏左边的文件资源管理器来创建新文件。
文件StackEdit中文版 将您的文件存储在您的浏览器中,这意味着您的所有文件都会自动保存在本地并且可以离线访问!
创建文件和文件夹使用导航栏左边的文件夹图标可以访问文件资源管理器。您可以通过单击文件资源管理器中的 创建文件 图标来创建新文件。您还可以通过单击 创建文件夹 图标来创建文件夹。
切换到另一个文件您的所有文件和文件夹在文件资源管理器中都显示为树。您可以通过单击树中的文件从一个文件切换到另一个文件。
重命名文件您可以通过单击导航栏中的文件名或单击文件资源管理器中的重命名图标来重命名当前文件。
搜索文件您可以通过单击文件资源管理器中的搜索文件图标来通过关键字在整个文档空间中搜索文件。
删除一个文件您可以通过单击文件资源管理器中的 删除 图标来删除当前文件。该文件将被移至 回收站 文件夹并在 7 天 ...