![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux开发
抓饼先生
反正也没人看
展开
-
使用lvm命令修改Ubuntu swap分区
lvm命令管理磁盘分区灵活方便。使用这个命令前提是在安装时选择用lvm管理磁盘。原创 2023-05-06 16:28:35 · 752 阅读 · 0 评论 -
Boost笔记 1:下载、编译、安装、测试
如果编译失败或者过程中发现缺少一些依赖库及boost相关模块,安装依赖库后,需要执行这个命令重新检测依赖并生成编译脚本。本地环境是Ubuntu 22.04,需要安装以下依赖库,部分影响boost相关功能的开启,部分影响编译过程。默认安装路径为:/usr/local/include/boost 和 /usr/local/lib/本地环境编译AOSP源码,安装过相关依赖库,除了这里列出的可能还需要其他依赖库,可根据提示安装。1)执行b2命令编译源码,先检测编译依赖,然后根据依赖配置进行编译。原创 2023-05-06 12:24:30 · 2733 阅读 · 1 评论 -
把代码添加到git库的几种方式
(1)用git clone --bare下载一个bare的git库,然后通过remote set-url设置为新的url,通过这种方式可以把原有库的提交记录和tag都提交到新的git库。2)已有本地代码,添加到远程代码库:本地已经创开发好代码,在代码目录中init一个本地git库,然后把git远程代码库链接添加到本地代码库中,这样就可以正常的提交代码了。(2)如果不要原有的提交记录,正常clone代码,把.git删除,按照方式2)的流程提交代码。1)先有有代码库,后添加代码。3)导入其他git库中代码。原创 2023-05-05 10:46:27 · 4160 阅读 · 0 评论 -
Ubuntu 22.04系统git/repo/github/codeup等 无法用ssh方式下载代码问题修复
经调查,在openssh(8.x版本)由于安全原因,替换了默认的加密算法rsa,改为SHA-1。可以通过配置文件修改默认的加密算法,继续使用rsa算法。查看本机安装的openssh-server版本,是8.9版本。首先确认本地和服务器端的sshkey设置都没有问题。git服务器可正常访问。原创 2023-05-04 10:51:03 · 1008 阅读 · 1 评论 -
Linux上用syscall()方法调用系统接口
通常,常用的系统调用都有C语言的运行时封装,可以直接调用对应的C函数即可。例如:open、write等都是封装的系统调用。在Linux平台,可以使用syscall()函数调用系统提供的函数。使用系统调用编号调用对应的系统接口。有些系统调用没有提供C函数,只能通过syscall调用。例如:gettid,获取线程id。如果自己开发新增了一些系统接口,也可以使用syscall来调用。(fopen、fwrite是C标准库函数,这些是可移植的。下面例子演示用syscall的方式调用对应的系统调用。原创 2023-04-21 11:41:26 · 1075 阅读 · 0 评论 -
Linux下获取线程id的方法总结
getpid()Linux系统调用,获取进程id,也是主线程id。gettid()Linux系统调用,获取线程id。C运行库没有封装这个接口…用syscall()方式调用。在主线程中,getpid = gettid。直接调用Linux系统调用(即上面的gettid)。pthread库函数,返回pthread中的线程id。这个id不同于gettid()的值。不同的实现可能返回不同的结果。使用这个函数,需要在编译时链接pthread库。原创 2023-04-21 10:35:26 · 3421 阅读 · 0 评论 -
检测并打印C++编译器支持的feature(附Visual Studio 2022和gcc-12测试、对比结果)
C++标准快速迭代,不同的系统平台和编译器对C++各种新功能的支持不同,通过这个程序可以测试所用编译器对各个版本C++的支持情况。另一方面,可以在代码中通过这些宏针对不同版本编写不同的代码分支。源码下面附上Visual Studio 2022的测试结果,基本上在2021年中就把C++23(当时还是草案)大部分功能都支持了。原创 2023-04-19 22:36:04 · 697 阅读 · 0 评论 -
在Linux上用update-alternatives配置多版本切换
在Linux环境上做开发,经常需要用到不同版本的可执行文件或者动态库。使用update-alternatives工具可以让多个版本的二进制程序或者动态库同时共存,根据需要进行切换。原创 2023-04-17 16:23:16 · 1711 阅读 · 0 评论 -
解决repo sync ( git )报错: git: ‘remote-https‘ is not a git command
在Ubuntu 18.04上下载Android源码,遇到报错:git: ‘remote-https’ is not a git command。原创 2023-03-24 13:33:51 · 4307 阅读 · 0 评论 -
[Linux命令] man命令
man命令查看系统帮助手册(manual)原创 2023-03-15 10:49:43 · 364 阅读 · 0 评论 -
Linux vs code常用快捷键
ctrl-m tab移动焦点模式切换,开启后tab切换窗口焦点,不是编辑缩进的功能。再按一次,切换回普通模式。ctrl-shift-tab 重新打开已关闭的编辑窗口,和chrome浏览器类似。ctrl-shift-up/down 滚动terminal窗口。ctrl-shift-m 打开problem窗口,默认在下面。ctrl-shift-o 跳转到symbol(当前文件)ctrl-shift-enter 在上/下插入新行。当前快捷键设置:ctrl-k ctrl-s。ctrl-k ctrl-s 快捷键设置。原创 2023-03-11 11:39:55 · 552 阅读 · 0 评论 -
Ubuntu下安装和注册beyond compare 4
Ubuntu上安装beyond compare软件。其他Linux发行版也适用。原创 2023-03-09 09:06:53 · 690 阅读 · 1 评论 -
Linux Shell基础:ln命令
1)在Ubuntu上,同一个软件可以安装多个版本的,安装的是带版本号的名称,通过软链接创建不带版本号的名称。系统和用户默认都是使用的不带版本号的版本(链接),可以起到各个版本兼容的效果。2)在负责的工程源码中,可以通过链接把分散的头文件目录集中到一个include目录下,通过引用这一个include目录就可以把用到的头文件都搜索到。这个命令比较简单,在开发中应用的频次比较高。而且最常用的就是创建软链接的用法。这种方式应用在可执行文件、动态库等。原创 2023-02-27 22:00:11 · 530 阅读 · 0 评论 -
修改Linux文件系统的文件属性(attribute):lsattr、chattr
chmod命令主要是修改文件或文件夹的mode bit,通过user/group/other的用户分组控制文件的访问权限。通过lsattr和chattr命令,可以对Linux文件系统的一些功能进行管理,开关一些特性,以及控制文件的访问权限等。lsattr、chattr相对来说更底层一些。原创 2023-02-27 11:35:58 · 475 阅读 · 0 评论 -
zsh(z shell)命令which
zsh上which是用的zsh内置命令whence,在bash中用的是/usr/bin/which命令。在很多脚本中,会用bash的which获取命令的完整路径并直接引用,在zsh中这种脚本就会报错。work around:把which通过alias修改为/usr/bin/which命令。这两种的输出结果不一样。参考下面的命令行输出。原创 2023-02-22 15:17:07 · 371 阅读 · 0 评论 -
Linux Shell变量设置默认值
Linux Shell中有灵活的变量赋值方式,在各种shell脚本、makefile中应用广泛。总结了几种开发中常用到几种语法,提供了详细的测试例子。原创 2023-02-22 15:04:55 · 883 阅读 · 0 评论