主页

M1mac 使用 qemu 配置 archlinux 虚拟机的完整c++开发环境与踩坑指南

写在前面 之前写了关于 qemu 安装 archlinux 的文章, 但是还有一些内容没得到解决, 比如很多时候 ssh 连接不成功, 这时候用图形界面(默认选项)的优势就体现出来了, 并且如果需要传输文件或者需要使用对外的端口, 仅转发一个22端口是不够的, 最后就是 gdb 调试的整套环境的配置, 这些问题都要解决. 因为服务器太贵了, 也不想续费, 还是本地老老实实跑qemu虚拟机吧… qemu 的配置-完善版 之前的配置 #!/usr/bin/env bash diskfile="$HOME/Documents/archlinux-x86_64-cc.qcow2" # if [ $# -ne 1 ]; then # echo "USAGE: $0 dis...

阅读更多

Gdb 日志记录不显示到屏幕的方法(gdb13最新版)

写在前面 gdb 的更新好快啊… 之前的选项都有改动了, 比如 logging.. 需要屏幕重定向不能简单设置: set logging on set logging redirect on 了, 而是要多开一个配置, 踩坑了 方法 在此之前先看一下我的 gdbinit 配置: set debuginfod enabled off set pagination off 分别用于设置自动下载 Debug 信息和禁止分页(否则显示完一页之后就结束了) 步骤 [arch@archlinux gdb_test]$ gdb /bin/ls GNU gdb (GDB) 13.2 Copyright (C) 2023 Free Software Foundation, In...

阅读更多

Neovim下java 开发的最佳实践

写在前面 秋招基本上结束了, C++算是告一段落, 但是学习之路才刚刚开始. 下面写一下 Nvim 上 Java 开发的一些基本配置, 还是延续了以往的轻量级开发环境搭建方法, Nvim 的配置可以看我之前的文章. 光会 C++不行, 后端语言还得看 Java/Go 下面的配置主要针对 Java 开发的代码补全, 代码格式化等操作, 用到的插件是 clang-format(没错, 这个万能插件可以格式化 Java) nvim-jdtls(相当于是对 eclipse-jdtls 的一层封装, 比较好用的, 之所以不用 java-language-server 是因为这个插件的维护还是差点意思) 参考了 GitHub 的一些文档: mfusseneg...

阅读更多

Cmake学习(一)基本命令

写在前面 随着C/C++项目越来越大, 项目管理也变得复杂起来, 之前一直使用的是一行编译命令, 但是这样逐渐变得复杂起来, 之后接触到了make, 虽然比较方便了, 但是还是要记住很多的命令与逻辑, 由于我用CLion比较多, 其内置的就是采用cmake进行项目管理, 这里就深入总结一下Cmake了. 基本命令 I/O message 参考

阅读更多

M1mac开启x86_64命令行archlinux虚拟机的最佳实践(qemu)

写在前面 UTM 虚拟机可以卸载了, 命令行才是永远滴神, M1 MacBook Air 又能再战了! 之前一直用 UTM 的虚拟化开启 x86_64 的 Linux 虚拟机的, 但是我发现 UTM 好像不是必须的, 只要有qemu 就可以了, 下面就看看如何不通过图形界面前端(UTM)开启虚拟化支持, 这里主要用到的软件就是 iterm, Mac 下最强的终端模拟器. 准备工作 brew 最强包管理器, 安装 brew install qemu 下载 qcow2 格式的 archlinux 虚拟机磁盘文件 下载链接: archlinux-images-latest安装包下载_开源镜像站-阿里云; 这里要注意, 这个虚拟机开启之后是需要密码登录的, 参考: ...

阅读更多

C++容器的迭代器失效情况总结

写在前面 序列式容器 vector 动态数组的迭代器失效本质上是扩容机制引起的, 看下面的实例代码: #include <vector> #include <format> // c++20 #include <iostream> using namespace std; vector<int> arr{1, 2, 3}; auto IFS = string(20, '='); auto it1 = arr.begin(); auto it2 = arr.begin() + 1; void get_info() { // 输出容器信息和迭代器是否失效 cout << format("size={}, ca...

阅读更多

Python 的 io 函数总结

写在前面 总结一下两者的区别, 最后发现实际刷 ACM 题目还是用 input()方便快捷一些. sys.stdin In [1]: from sys import stdin In [2]: for i in stdin: ...: print(f'={i}=') ...: 123 =123 = input() In [1]: print(f'={input()}=') 123 =123=

阅读更多

Total views.
您是Zorch的第 个小伙伴
Hits