- 博客(295)
- 资源 (12)
- 收藏
- 关注
原创 Linux 编写 configure.ac 和 Makefile.am 示例
我们知道configure.ac可以生成configure文件,而Makefile.am可以生成Makefile,之所以这么做就是为了适应不同的环境需求我已经写好了一个示例,目录结构如下我想在src的文件夹编译一个静态库,叫libfoo.a,基于c.c、d.c、c.h、d.h生成我想用a.c编译一个程序叫做test,并引用了上面的 libfoo.ac文件代码(不是很重要)configure.acMakefile.am (外层)src/Makefile.am前提假设大家...
2022-07-14 16:46:06 4418
原创 linux gcc 编译找不到头文件,找不到库
找不到头文件解决方式1、把头文件路径写成绝对路径,把路径写全,如#include "/usr/include/stdio.h"2、软链接到include默认路径下,或者直接拷贝# 符号链接ln -s /usr/include/ffmpeg/libavcodec/ /usr/include/# 直接拷贝cp -r ffmpeg/* /usr/include/cp -r ffmpeg/libavcodec/ ./注意,删除符号链接文件夹使用# 无论是删除符号链接文件
2022-05-20 10:51:12 16759
原创 一些常用技巧
linux篇1、linux操作会话容易过期(临时设置)unset TMOUT# 或者TMOUT = 999992、打印文件描述符lsof -p pid3、源码编译只有configure.ac文件如何编译源码目录下只有configure.ac文件和Makefile.am文件的工程 - 克林斯顿 - 博客园4、定位文件路径locate 定位文件名字5、返回上一次cd的目录cd - 6、系统服务位置cd /lib/systemd/system7、
2021-11-02 14:38:50 252
原创 Linux下的C语言程序的调试(附案例)
写在前面 本文以将gdb调试为主,顺便提一下strace和valgrind。正文strace 个人感觉跟gdb相比,strace更偏向于查看,查看某程序的系统调用有哪些,统计系统调用的次数以及消耗了多少时间,还可以追踪信号。gdb总览 gdb可以直接调试程序,也可以将程序和core文件一块调试,也可以调试服务程序,只需要指定对应服务程序的进程id就行了...
2020-03-22 17:11:05 3248
原创 校招C++学习的一些书籍和网站
写在前面: 其实要进入计算机行业,最好是要科班出生,在校接触过一些正规课程比较好,这样自学起来看书比较容易。不过如果自制力好的话,改行去哪都行,我见过最牛的大佬,某985本硕地球物理学毕业,C++就入门,后来靠着自学照样收割各大企业的offer。书籍:C++学习:基础:《C++ primer》提高:《Effective C++》 《More Effecti...
2020-03-11 12:07:45 343
原创 校招C++必会知识清单
多学习,多总结C++:C++基础语法(包括不限于const,static,inline,指针,数组,引用,new,malloc,宏定义,define) C与C++的区别和联系 STL各自容器的使用及内部的实现 C++11特性 C++的特性,继承、封装和多态,多态又有静态多态和动态多态 虚函数,虚函数指针,纯虚函数 四种强制转换 四种智能指针 成员函数的重载覆盖和隐藏 浅拷...
2020-03-10 11:14:42 617
原创 新安装的Linux常用命令汇总
这里以Ubuntu为例。1,root用户获取和创建用户获取root用户参照https://jingyan.baidu.com/article/fd8044fa1e74035031137ae0.html创建用户参照https://blog.csdn.net/timothy93bp/article/details/77679000https://www.cnblogs.com/...
2019-10-22 15:02:47 401
转载 蠕虫悖论解释
如果是拼接绳子的计算逻辑应该是 (1 * k) / (100 * k),k 是走过的时间秒,蠕虫的位置跟绳子总长的比例永远保持在 1/100 < 1 永远到达不了末端。相当于在第 2 秒走了 2 厘米,那么第 3 秒就会走 3 厘米,后面越走越快,迟早要 1 秒走 1 米,并超过绳子的拉伸速度。但是,按照前面链接的计算逻辑,1/100 + 1/200 = 3/200 > 2/200。第一秒:蠕虫爬了全绳长的1/100,第二秒:蠕虫爬了全绳长的1/200……按照常人逻辑,第一秒走了 1 厘米,第二秒就(
2024-07-22 19:52:23 29
原创 Mac 息屏不断网
另外一个地方是锁定屏幕——延长关闭显示器的时间(让显示器不黑)我调整了两个地方,一个是电池——选项——唤醒以供访问。这里息屏指的是屏幕不黑,屏幕黑了好像必断网。我的系统是 14.5。
2024-07-15 19:24:25 339
原创 Mac/Linux getline 无法读取文件内容(读取内容无法显示)
经过我的研究,我发现读取每行的内容里末尾有个 \r,在 ASCII 码里是 13,有这个 \r 就会导致读取的每行的内容无法正常打印,而在 linux 上是能正常识别 \r 的。我发现我读取的文件每行的 line 是有大小的,说明读取到了每行的内容,但是通过 cout 打印就是空的。不知道是 mac 的问题还是 clion 的问题,如下面代码。所以解决办法就是删除每行的 \r 就能正常显示了。
2024-05-28 16:38:16 386
原创 gdb 进阶使用记录(主要是关于 optimized out)
如果 gdb 调试发现 optimized out,这个表示被编译器优化了,这个优化跟编译选项有关,gcc 有个 -O0 -O1 -O2 等编译选项,越高等级能看到的信息越少。
2024-04-26 15:08:18 1022
原创 vs 撤销本地 commit 并保留更改
没想到特别好的办法,我想的是用 vs 打开 git 命令行工具,然后通过 git 撤销提交,尝试之前建议先建个分支实验,以免丢失代码。
2024-01-29 18:00:44 474
原创 cpp-stub 打桩失败
我遇到的是 inline 函数打桩失败,因为官方说明有个 -fno-inline 的编译选项我没看到,导致打桩失败。我这个是纯属我自己的原因,官方有列举有些场景下不能打桩。
2024-01-29 17:55:25 326
原创 mac 聚焦搜索不显示
我检查过快捷键之类的设置,都正常,最后是通过删除文件解决的。我是连搜索框都不显示,不是搜索结果显示异常。点右上角的搜索按钮都毫无反应。
2023-11-29 14:30:36 911
原创 社保小记载
社会保障号和社保卡号都印在实体社保卡上面,社保卡号印在实体卡的。据说不是着急退休的话,可以最后(到退休)再转移。里面有个职工医疗保险关系异地转入申请。号是身份证号,社保卡号是单独的号码。
2023-11-22 19:42:52 101
转载 Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python
解决办法就是安装指定的 protobuf 版本。
2023-11-22 15:37:32 1081 2
转载 C++ threadlocal 和局部变量区别
threadlocal 在代码中定义后,在不同的线程中会有不同的副本。如果使用局部变量去写这个代码,应该是这样,不是完全等价,但是意思一样。
2023-11-20 19:05:19 81
转载 chatgpt 记录
3、chatgpt 登陆界面都进不去(或者只有黑白字还没图片),f12 显示 403,因为进入 chatgpt 官网之前,会先进入 cdn,cdn 拦截了,其实也是锁 ip,不过是 cdn 锁的,跟 2 不一样(当然这只是 403 的原因之一)2、提示 ChatGPT Not available in your country,因为锁 ip (chatgpt 官网锁的)同一个 ip 请求限制(这个 ip 访问 chatgpt 官网的次数),有人说是普通用户和会员导致。1、聊天界面卡主,f12 显示。
2023-11-16 20:41:17 78
转载 mac 三指左右切换应用失效
1、首先我三指上划是没问题的,也设置的是三指切换应用不是四指。的窗口有效,我是双击最大化的窗口,就三指左右滑动就切不了应用。2、我这次不是设置问题,是因为三指切换应用只对。
2023-11-15 16:07:45 1820
转载 Linux 不更换 glibc 运行高版本的可执行程序
比如 Centos 7 支持的最高 glibc 版本是 2.17,但是我有一个可执行程序 clangd,它最低需要 glibc 2.18 版本,升级 glibc 影响太大,但是我又想运行 clangd (前提 clangd 只差 glibc,不是差非常多库)
2023-11-03 10:23:36 243
原创 Pycharm v2023.1.2 关闭项目卡住
pycharm v2023.1.2,我是清理缓存加本地索引解决的,之前 Pycharm 弹了一个窗,说预下载索引比较快,我点了之后项目就关不上了。设置找到下面这个,改为:不下载,使用本地索引。4、有人说是和插件有关。
2023-11-02 15:44:31 4143
原创 C++ 函数:在相同类型参数情况下返回不同类型值
首先重载是不能做到的,相同函数参数类型前提下,不可能返回不同类型的返回值,但是想弄一些歪招实现这个效果模板不算,因为模板会根据不同的输入参数类型生成不同的函数,就不是调用相同的函数了。
2023-10-28 00:11:43 543 3
原创 mac vscode 使用 clangd
C++ 的智能提示 IntelliSense 非常不准,我们可以使用 clangdclangd 缺点就是配置繁琐,优点就是跳转和提示代码精准开启 clangd 之后会提示你关闭 IntelliSense。
2023-10-26 19:59:41 1776
原创 windows 下 vs code 格式化代码(clang-format)
可以直接把这个 exe 解压,里面有个 bin 目录,bin 目录有个 clang-format.exe (就要这个文件)2、windows 下载 LLVM-17.0.1-win64.exe (exe 结尾的安装包)格式化所有代码:shift + alt + f 或者右键代码空白处,有个格式化代码选项。5、格式化的个性化设置可以通过指定 .clang-format 文件来配置。格式化部分代码:选中部分代码,ctrl + k , ctrl + f。3、配置 clang-format.exe 路径。
2023-09-29 01:00:44 5687
原创 mac 13 设置日期显示节假日
2、如果此时你日历上没显示假日,那就点击文件——新建节假日日历。左上角,日历——设置——显示节假日。3、找到中国地区,点击确定。1、确保打开了显示节假日。
2023-09-26 16:27:45 720
原创 boost 库和 std 库记录
boost::split 是把 string 切分到 vector 里,下面我是按照空格切分的,但是如果有多个连续空格的情况,会把空串扔进 string 里,如果想提取 string 里的单词的话,切分完记得判断一下 vector 里面的 string 是不是空串,也就是长度为零。
2023-09-24 13:33:24 176
原创 mac clion 安装 boost 库
2、clion 工程的 CMakeLists.txt 文件中间添加两行,加在 add_executable 上面。4、如果 cpp 写代码没有智能提示(新加 boost 库),比如下面还是标红,可以尝试重启 clion。我实际上加了三行,多了一个 message 是打日志用的,用于查看是否拿到 include,可以删掉。3、重新构建(清理再构建,或者直接重新构建)(test 是我的项目名)不保证有效,很多教程的 cmake 都是带版本号的。CMakeLists.txt 文件区分大小写。
2023-09-22 15:36:02 395
原创 git stash 暂存当前修改
我想切分支处理紧急 bug,但是我当前分支有代码没提交,我切分支就会提示要先提交代码才行,但是我当前代码没开发完,我不想提交代码,我只想切换分支。3、现在就可以切分支了,假设我们切分支事情处理完了,我想切回原来正在开发的分支,并且还原 git stash 暂存的代码,使用下面命令。2、使用下面命令暂存当前修改。
2023-09-13 11:21:44 180
原创 mac 13.x 打开第三方应用,提示已损坏无法打开
4、在上图的位置(右下角)会出现一个按钮,点击仍要打开。2、系统设置——隐私与安全性,勾选第二个。1、先在终端执行下面这个。前排提示,不一定有效。
2023-09-11 10:51:05 866
原创 mac git 使用 ssh 密钥克隆代码
然后配置完毕还是克隆不了代码(还是提示需要输入密码),可能是 ssh 不支持 RSA 签名,需要再配置一下这个。
2023-09-05 14:42:26 343
原创 Windows 转 mac 记录
2、运行中的应用下方会有一个点,如果你发现应用点了×还是运行中,你可以触控板双击应用点击退出。4、每个应用都有自己的菜单,在右上角,不同的应用菜单是不一样的,框框里是应用名。有些设置是在菜单栏里的,别忘了,Windows的应用的菜单栏就在应用内侧上方。1、Windows的右键等于mac的双击触控板、control+单击触控板。3、mac 是可以安装应用商店之外的程序的,比如安装搜狗输入法。初次从Windows转mac可能会不适应,建议先看看。如果你发现应用无法安装,你可以尝试找找旧的版本。
2023-08-25 23:14:31 1077
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人