- 博客(7)
- 收藏
- 关注
原创 C变量和函数的编译与运行
第一步:由于每个.o文件都有都有自己的代码段、bss段,堆,栈等,所以链接器首先将多个.o 文件相应的段进行合并,建立映射关系并且去合并符号表。对于每个变量都指定了大小和所在的段,比如d是未初始化数据,放在BSS段中,d放在DATA段中,这里的变量都是全局变量和静态变量,对于普通局部变量,就在运行时直接压栈分配空间了。第二步:将分配好的虚拟地址与符号表中的定义的符号一一对应起来,使其成为正确的地址,使代码段的指令可以根据符号的地址执行相应的操作,最后由链接器生成可执行文件。
2024-10-12 17:32:53
586
原创 vscode运行路径
通过这样配置使得运行和调试时绝对路径为代码所在文件夹,否则默认为工作区路径,即打开的文件夹路径。发现运行时可以,调试时却发现找不到文件,最终发现是两者绝对路径配置不对。在用vscode编写代码打开文件时,填写了一个相对路径地址。在launch.json 中添加。在tasks.json中添加。
2024-05-18 11:31:53
413
原创 关于windows和linux回车符问题
如果在Linux下编写的程序在Windows中打开并删除里面的内容重新编写,里面的环境还是Linux的回车,而不是Windows的回车;发现代码中使用的回车符与删除相绑定,只有同环境下的删除键能完全删除该环境下输入的回车符,即只有Windows下能完全删除Windows下输入的回车,Linux同上。Windows编写的代码会在按回车 时自动加上'\r\n','\r'代表回到这行开头,'\n'代表到下一行。而Linux中只会加上'\n',这个差异会在做词法分析等操作时引发问题。
2024-04-14 15:47:32
487
1
原创 vscode 安装了C/C++拓展后仍然不能跳转的问题
是之前安装过clangd拓展,导致C/C++拓展中的配置被自动关闭,打开即可。打开拓展设置,搜索intelli,按如下设置。
2024-04-13 16:16:44
4277
7
原创 linux 和 windows通过scp传输
linux端确保能ping通Windows的ip,如果在同一网段ping不通可以关闭防火墙再试。然后scp file_name username@ipaddress。以下命令都在管理员权限powerShell中运行。确保windows安装了 ssh server。username是C:/Users下的用户名。net start sshd 开启ssh服务。使用命令查看都安装好了。
2024-04-11 18:19:19
756
1
原创 wsl使用windows下环境变量中的程序
但直接运行bootgen.bat会报错没有里面的命令,需要加上cmd.exe /c,调用cmd来运行。wsl使用windows下环境变量中的程序需要加上后缀 如bootgen.bat。
2024-04-01 10:51:04
262
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人