c++
very_happy
爱编程
展开
-
从汇编层面理解C++ this指针
中,调用对象的非静态成员函数过程中,编译器会自动添加。上述程序,对象在栈上。如果对象在堆上的情况,即通过。指针作为第一个参数传到非静态成员函数中了。指针作为第一个参数。表示第一/二个参数, 然后调用。看了成员函数的汇编, 再看看。申请的对象,可能会有所不同。可以看到, 编译器确实将。其实就是栈顶,也是对象。第6/7条指令,分别将。指针是如何传进来的。函数中是如何调用的。函数中定义了局部变量。, 表示在栈上申请了。原创 2024-02-02 10:37:02 · 516 阅读 · 0 评论 -
Linux 库文件
静态库在链接时,会将依赖的库编到二进制中,产生的二进制文件比较大。编译构建静态库主文件编译主文件。原创 2023-03-09 10:21:19 · 80 阅读 · 0 评论 -
编译原理
gdb编译多个.o文件// test.cc#include<iostream>using namespace std;int t();int main(){ int x = t(); cout << "x: " << x << endl; cout << "Hello World!" << endl; return 0;}// utils.ccint t(){ return原创 2021-01-08 08:43:03 · 119 阅读 · 1 评论