姜茶.Blog

这是一个正在成长的程序员

操作系统

在 main() 函数运行前发生了什么

在 main函数之前发生了什么 对于编程人员来讲,main 函数是程序的入口,但事实上 main 函数之前也发生了很多操作。在 main 函数开始前,分成两部分 “系统调用部分” 和 “C++ 程序自身的部分”。 我们首先假设程序的 main 函数原型是int main(int argc, char *argv[]);,其中,argc 指命令行参数的数目, argv 是指向参数的各个指针...

Operating System

C语言程序栈

操作系统 编译 UNIX上编译一个c语言程序使用如下命令生成可执行文件gcc -o hello hello.c 编译系统分为预处理器(preprocessor)、编译器(compiler)、汇编器(assembler)和链接器(linker)四个部分组成。 预处理阶段:预处理器(cpp)将根据以字符 ‘#’ 开始的命令修改原始的C语言程序,得到另一个C语言程序,通常以.i作为文件...

Hello CMake

入门 CMake

GCC 编译过程 UNIX上编译一个c语言程序使用如下命令生成可执行文件gcc -o hello hello.c 编译系统分为预处理器(preprocessor)、编译器(compiler)、汇编器(assembler)和链接器(linker)四个部分组成。 预处理阶段:预处理器(cpp)将根据以字符 ‘#’ 开始的命令修改原始的C语言程序,得到另一个C语言程序,通常以.i作为文件...

Share mouse and keyboard

共享鼠标和键盘

键鼠共享 Synergy 是一款在不同操作系统间共享键鼠的软件,支持 Windows, Mac OS X, LINUX。 非常适合程序猿在桌上有多台电脑时使用,配置参考 破解 有个老外根据源码,写了个C++ 程序用来激活程序,该程序有个在线执行的地址C++ Shell,可以在线执行,获得序列码。 也可以直接复制下方的代码,编译成C++ 程序,经验证,此破解程序在 1.10版本依旧有效,尚...

Ice Breaker

敲冰块

敲冰块 利用随机数来实现一个掷骰子的功能 点击跳转

OpenMesh

半边数据结构汇总

半边数据结构 半边数据结构具有如下特点: 每个顶点对应一个出边。例如,一个半边从顶点1出发; 每个面对应一个半边为它的边界,例如面2; 每个半边指向的对象如下: 指向下一个顶点3; 指向一个面4; 指向下一边半边5; 指向反向的半边6; 指向上一个半边7(可选) OpenMesh ...

CGAL

三维周期网格

Introduction 一个周期的网格生成过程由如下两个函数完成: template <class C3T3, class PeriodicMeshDomain, class MeshCriteria> C3T3 make_periodic_3_mesh_3(const PeriodicMeshDomain& domain, ...

Modern C++

现代C++ C++11 C++14

Introduction 最近听闻了一个段子 同样是C++工程师,有的人写的是 C with object,有的人写的是 C++ 98,fashion一点儿的写 C++ 11,而有些弱鸡写的是 谭++。 (日常黑谭浩强,虽然我不太了解有多少黑点。。。 左值右值 C++( 包括 C) 中所有的表达式和变量要么是左值,要么是右值。通俗的左值的定义就是非临时对象,那些可以在多条语...

瞎搞搞-数字水印(待填坑)

在自己的摄影作品上添加数字水印

前言 虽然我还是个技术糟糕的咸鱼摄影,但也该考虑自己牛逼了以后的事,不如趁早做个个人专属水印(臭不要脸)。 所以这里写个博客给自己立个FLAG,鼓励自己早日把这个FLAG拆掉! 目标 在设想如何实现这个专属水印的时候,我想到了前些时候火热的数字水印,不如借这个机会花几天时间自己实现一个属于自己的添加水印工具。 初期考虑功能: 直接水印:(设置一个规则json文件,可以...

介绍下Github工程中常见的特殊文件

Github工程中常见的特殊文件

新的计算机从业者很多会奇怪为什么很多github工程中都会有些相同命名的文件,这里为大家简要介绍其中的几个。 README.md 如上图,通常我们打开一个Github时都会在其下方看到关于工程的介绍说明,readme的意思“读我”也是希望访问工程的读者首先读一下这里的内容。通常包括工程的介绍、工程的效果展示、工程的编译说明、如何为此工程做出贡献、以及工程文档等相关内容。有的时候因为内容...