笔记
努力攻坚操作系统
纸上得来终觉浅,绝知此事要躬行。
展开
-
C语言调用汇编
程序的入口是main,在main里调用汇编的函数。首先要解决怎么定义函数的问题在C语言中,要extern 一个函数声明即可,然后这个函数在汇编里面实现。在汇编里面,用EXPORT 把C语言定义的函数名引进来,再开始编写函数名开始的段例子是一个六个数相加的函数。C语言:#include<stdio.h>extern int sum(int a,int b,int c,int d,int e,int f);int main(){ ..转载 2022-01-10 15:53:27 · 3534 阅读 · 0 评论 -
将inline函数写在头文件里
inline是加在实现上,就算加在声明上,编译器也会忽略掉。内联展开是在编译时进行的,只有链接的时候源文件之间才有关系。所以内联要想跨源文件必须把实现写在头文件里。如果一个inline函数会在多个源文件中被用到,那么必须把它定义在头文件中。注意:将函数的定义({…}之间的部分)放在头文件中是强制的,除非该函数仅仅被单个.cpp文件使用。尤其是,如果你将内联函数的定义放在.cpp文件中并且在其他.cpp文件中调用它,连接器将给出 “unresolved external” 错误。最佳实践是:...转载 2022-01-10 10:21:31 · 462 阅读 · 0 评论 -
关于位运算的一些基础操作
链接:https://leetcode-cn.com/problems/power-of-two/solution/5chong-jie-fa-ni-ying-gai-bei-xia-de-wei-6x9m/在解题之前理解一下为什么需要位运算?它的本质是什么?力扣上不少位运算相关的题,并且很多题也会用到位运算的技巧。这又是为什么?位运算的由来在计算机里面,任何数据最终都是用数字来表示的(不管是我们平时用的软件,看的图片,视频,还是文字)。并且计算机运算单元只认识高低电位,转化成我们认识的逻辑转载 2021-08-20 20:38:28 · 114 阅读 · 0 评论 -
C++ string类
string类是由头文件string支持的(注意,头文件string.h和cstring支持对C-风格字符串进行操纵的C库字符串函数,但不支持string类)。string类位于名称空间std中,因此必须提供using编译指令或使用std::string来引用它。//string 实际上是模板具体化 basic_string<char> 的一个 typedef//即由于含有 typedef basic_string<char> string; 这条语句,string 类成为了原创 2021-08-15 18:56:50 · 185 阅读 · 1 评论 -
文件的读写
一、文件的读写指针:对于输入文件,有一个读指针 对于输出文件,有一个写指针 对于输入输出文件,有一个读写指针 标识文件操作的当前位置,该指针在哪里,读写操作在哪里进行具体操作://读写指针在哪个位置,下一次的读写操作就在哪个位置进行//写指针:ofstream fout("a1.out", ios::app);//以添加方式打开long location = fout.tellp();//取得写指针的位置location = 10;fout.seekp(location);.原创 2021-08-09 19:20:53 · 785 阅读 · 0 评论 -
文件名的绝对路径和相对路径
带盘符的为绝对路径,不带盘符的为相对路径。路径中的\也可用/来代替。… 表示上一级文件夹原创 2021-08-09 17:03:53 · 408 阅读 · 0 评论 -
关于多态
摘自 清华大学C++程序设计mooc ——多态实例:几何形体程序原因:因为若构造函数允许多态,则在调用派生类构造函数时,会先调用基类构造函数,若基类构造函数中调用了派生类的多态方法(多态是由基类指针或引用调用基类或派生类的虚函数),而此时派生类对象还没有初始化完成,在没有初始化完成的情况下调用类方法显然是不符合常理的若析构函数允许多态,则在派生类析构函数调用后,会调用基类析构函数,若基类析构函数调用了派生类多态方法,而此时派生类对象已经析构,在对象已析构的情况下调用析构函数会出错。...原创 2021-08-04 22:38:22 · 94 阅读 · 1 评论