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>用实际的空格代替, 即可.
...
共计 492 篇文章,62 页。
您是Zorch的第 个小伙伴
Hits