主页

C++实战笔记(一)c++的预处理与编译

写在前面 总结一下罗剑锋老师的C++实战课程中C++代码预处理, 编译, 汇编, 链接的一些内容. 预处理阶段 预处理阶段编程的操作目的是”源码”, 用各种指令控制预处理器, 把源码改造成另一种形式. 基本格式 以#开头, 可以忽略缩进层次, 总是顶格书写. 单独的#称为空指令, 可当做特别的预处理空行. 不可以调试, 可通过g++ -E选项输出预处理结果. 下面是一个基本的格式 # #if __darwin__ # define IS_MAC 1 #endif # 防卫式声明(Include-Guard) #ifndef __XX__ #define __XX__ #include <map> class...

阅读更多

24点游戏回溯算法与8个8组成1000问题c++,java代码

写在前面 前阶段LeetCode出了一个很棒的活动, 叫做1024游戏, 就是通过综合数字卡和符号卡来得到1024这个数字, 符号可以是十进制运算符号或者位运算符号, 这就不得不让我想起来24点游戏, 就是通过加减乘除加括号的方式构造24这个数字, 其中蕴含的思路都是一样的, 在算法实现中, 要用到回溯的方法, 其实就是深度优先搜索, 不满足条件的话就返回中节点继续找, 下面来看一下具体思路. 679. 24 点游戏 - 力扣(LeetCode); 思路 解法上有点像N皇后问题, 需要进行两层循环遍历找满足条件的解, 相当于遍历二叉树的层, 然后递归回溯, 相当于向树的叶子结点方向遍历. 比较麻烦的点是符号的计算, 这里可以通过Switch-case语句来做, 然后就...

阅读更多

在m1mac上安装x86_64架构archlinux虚拟机的使用体验

写在前面 在M1(ARM64)Mac上使用Intel架构的Archlinux也有一段时间了, 总的来说还是不错的, 毕竟我这8+256的小电脑都能带得动, 虽然跟原生的架构相比速度肯定略慢, 但是日常写个汇编, 写个C还是相当足够了, 下面谈谈我的主要配置, 以及使用的一些体验~

阅读更多

Jekyll Text主题的页面定制之添加页面访问计数

写在前面 突然想起来之前的GitHub Pages博客还没有添加访问量统计, 后来发现可以通过不蒜子来设置, 还是集免费的接口, 那当然可以拿来用用了. 官网: 不蒜子 - 极简网页计数器 (ibruce.info); 方法 由于我之前设置了TeXt主题, 所以需要定制文章页面与index界面的话, 就需要改一下网页的模板, 一开始没找到方法, 后来发现应该在./_includes/新建一个文件, 名为article-footer.html, 然后复制jekyll-TeXt-theme/article-footer.html at master · kitian616/jekyll-TeXt-theme (github.com);内容进入, 倒数第二行加上: <scri...

阅读更多

Pandas操作两个excel实现数据对应行的合并

写在前面 最近有朋友问我怎么把一个Excel工作表中的数据按照对应的匹配规则放到另外一个表中, 要求是两个对应的列要相同, 具体来看就是sheet1中数据比较多, sheet2中只含有两列, 这两列包含了年份和行业信息, 这两个表的header(pandas中的术语, 表示表头或者列名)都是相同的, 所以关键点就是让表1中的数据与表2中的数据建立对应即可, 然后注意一下选取过的数据就不能选了这个条件. 当然可能会有直接使用Pandas内置高级函数的方法来做, 但是毕竟不是主要研究数据分析了, 能用就行.. 为了数据安全, 这里就不放截图了. 主要思路 因为要填充表2, 那么当然要遍历表二的每一行, 针对这每一行给出的列标信息, 然后遍历表1中满足条件的行, 填入表二之...

阅读更多

长除法计算平方根的c++版本(使用gmp高精度计算库)

写在前面 前几天给出了长除法的Python实现, 但是C++毕竟还是要更快的, 只是没有精度支持而已, 后来发现一个叫GMP的库可以实现, 下面来看下具体操作. 安装与构建 如果安装过llvm或者gcc, GMP其实是会附带安装的, 因为这些C编译器都需要GMP作为依赖. 这里我发现一个很奇怪的现象, 由于我电脑中有三种C++编译器, 分别是 xcode自带的clang(被alias为gcc, 14.0.0) 通过brew安装的clang(llvm, 15.0.6) 通过brew安装的gcc(12.2.0) 通过ChatGPT给出的GMP实例:(这个比较复杂, 后面直接用c++的mpz_class替代了) #include <iostream> #inclu...

阅读更多

谈谈我对上手macos的体验与感受+macos 常用快捷键一览

写在前面 不知不觉间,我的MacBook Air已经陪伴我走过近两年的时光了, 虽然都说M1芯片是小白鼠, 但是在我的体验中, 除了一些专有软件外, 其他的问题都能得到不错的解决. 这当然要归功于无私奉献的开发者们以及Stack Overflow的热心人们. 在从零开始配置Mac的时候当然也走了很多弯路, 但是现在我能说在配置Mac的一些开发环境方面也算是驾轻就熟. 这篇文章中, 我想从以下几点来说说我的选择与体验. 为什么没有继续使用win 开始学计算机, 最先接触的当然是Windows, 随着见识的增长, 其他操作系统才慢慢走进我的视野, 本科时候虽然使用win, 但是还是对Linux系比较感兴趣, 把Linux shell编程研究了个皮毛, 但是Linux(Ubuntu...

阅读更多

在makefile中使用空格缩进的方法

写在前面 我的编辑器默认都是通过空格代替Tab缩进的, 这就导致在使用Makefile时候会出现下面的错误: makefile:8: *** missing separator. Stop. 或者: makefile:7: *** missing separator (did you mean TAB instead of 8 spaces?). Stop. 一开始看Stack 好像这个问题无解了, 但是后来一个人的回答让我眼前一亮, 在gnu make的4.2版本之后就可以通过一条语句完成空格代替制表位了: .RECIPEPREFIX := $(.RECIPEPREFIX)<space> 其中<space>用实际的空格代替, 即可. ...

阅读更多

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