Simest's Blog

Life and code


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

C-OOP

发表于 2020-03-25 | 更新于 2021-01-12 | 分类于 编程思想

如何用C语言编写面向对象的程序

一般来说,我们认为C语言是一个面向过程的编程语言,而面向过程的开发思想面对复杂关系时,是不太好处理的,那么用C语言编写面向对象的程序是可行的吗。答案是肯定的。语言本身只是工具,如何使用工具是编程思想。本篇就粗略地思考一下如何使用C语言开发面向对象的程序。

阅读全文 »

code2program

发表于 2020-03-23 | 分类于 c , 底层原理

从代码到进程

本文主要是简单梳理一下平时写代码,从高级语言到最终加载到内存中的进程,经历了怎样的流程。

阅读全文 »

update-in-2020

发表于 2020-03-19 | 更新于 2021-01-12 | 分类于 blog , update

2020-2 更新日志

update:

  1. 由于原有的评论插件gitalk使用了GitHub的OAuth2.0协议,该协议授权的app拥有对全部仓库的权限,虽然gitalk并未滥用权限,但是过高的权限始终是不安全的,因此将该插件删除。同样基于GitHub的issue创建评论,切换至GitHub APP 中的utterances,可以兼容原有的issue。utterances官网

  2. 在文章中经常会用到一些插图,并且不想使用第三方的图床,自己的vps存储量太小,就借用GitHub仓库作为图床使用,结合图床工具PicGo和cdn加速服务器jsDelivr保证国内访问。

function

发表于 2020-03-19 | 更新于 2020-03-22 | 分类于 c , 底层原理

C语言中的函数调用

函数是C语言的重要组成部分,每个C语言的程序,至少都有一个函数,即入口函数main函数,那么在程序运行时函数是以怎样的方式运行的呢。本文主要讨论C语言中函数的调用原理和存储方式。

阅读全文 »

memory

发表于 2019-12-02 | 更新于 2021-01-12 | 分类于 c , 底层原理

Linux内存布局与C的内存布局

使用C作为开发语言,最重要的就是指针,而指针就是一个指向内存的索引。理解Linux和C程序的内存布局是深入理解C语言开发和程序运行等原理的一个必要条件。

阅读全文 »

stub

发表于 2019-11-28 | 更新于 2020-03-25 | 分类于 c , 底层原理

函数打桩

函数打桩,就是将一个函数用另一个函数实现(桩代码)进行替换,以达到在原有函数入口的位置执行新的实现。函数打桩类似于Windows系统中的钩子Hook,不过Hook针对的是事件,这里针对的是函数,或者说是函数的入口。在做C的Cunit单元测试时,遇到了这样的概念,在此梳理一下。

阅读全文 »

protocol

发表于 2019-11-06 | 更新于 2019-11-21 | 分类于 database , protocol

数据库协议浅谈

在日常工作中接触了各种类型的数据库传输协议,

这里粗浅地介绍一下各个协议,可以大概了解一下如何解析一个数据库协议,

如何设计一个数据库的通信过程,以及自定义协议是如何实现的。

阅读全文 »

bignuminc

发表于 2019-11-04 | 分类于 密码学 , 数学

编程时使用的大数运算

在编程中,有时候会遇到大数运算的情况(大于语言本身定义的最大长度的数的运算,一般都是64位)。在密码学或者自定义数据类型,如数据库中deicmal类型,定义了数的精度和比例(precision 精度,有效数字。scale不知道怎么翻译了…就是小数点的位数)。在这种情况下需要自己定义针对大数的运算。

阅读全文 »

tools

发表于 2019-10-29 | 分类于 tools

生产工具

在开发的过程中,逐渐摸索一些适合模块化、规模化的应用需要的开发环境,更新使用的生产工具。

阅读全文 »

sql

发表于 2019-09-05 | 分类于 database , concept

有关SQL语句的一些思考

日常关于SQL语句的一些想法,一点自己的见解,今天分享出来记录并提供更正和补全。主要是关于SQL语句的分类和原理的拙见。

阅读全文 »
123
Simest

Simest

Focus on database/Linux/C/go/docker
28 日志
20 分类
19 标签
Creative Commons
© 2019 – 2021 Simest