自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

苏小刚的博客

精通细节是理解更深和更基本概念的先决条件。

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 二维数组与一维数组指针

直接上代码#include <stdio.h>int main(){ int arr[2][10] = {0}; int *ptr[2]; ptr[0] = arr[0]; ptr[1] = arr[1]; arr[1][5] = 1; ptr[1][6] = 2; printf("arr[2][5] is %d\n", arr[2][5]); printf("ptr[2][6] is %d\n", ptr[2][6]);}反汇编代码为在执行arr[1][

2021-10-22 13:50:44 155

原创 使用vscode+docker开箱即用调试postgresql代码

一:环境准备首先需要安装 docker 和 vscode,vscode要安装docker和Reomte-Containers插件二:下载镜像docker pull lishizhen/postgresql84_debug此镜像基于 postgres8.4版本代码,基于centos镜像构筑,安装了编译postgresql所需的依赖库,并且进行了编译与安装,可以直接调试。官方地址:https://hub.docker.com/r/lishizhen/postgresql84_debug三:启

2021-10-02 00:32:33 498

原创 C函数指针的多相性

/**2021/8/27 * 苏艺腾 * 令人吃惊的是,下面函数指针的用法都是正确的。 **/#include <stdio.h>void hello(void){ printf("hello\n");}int main(void){ void (*hello_p)(void); void (*hello_a)(void); void (*hello_s)(void); hello_p = hello; hello_a = &

2021-08-27 11:27:58 138

原创 c语言中令人迷惑的局部静态变量

C程序在编译后,会以三种形式使用内存。静态/全局内存静态声明的变量分配在这里,全局变量也使用这部分内存。这些变量在程序开始运行时分配,直到程序终止才消失。所有函数都能访问全局变量,静态变量的作用域则局限在定义它们的函数内部。自动内存静态声明的变量分配在这里,全局变量也使用这部分内存。这些变量在程序开始运行时分配,直到程序终止才消失。所有函数都能访问全局变量,静态变量的作用域则局限在定义它们的函数内部。这些内存位于栈上。动态内存内存分配在堆上,可以根据需要释放,而且直到释放才消失。这些内存位于.

2021-08-24 17:26:41 167

原创 告别LiveServer,vscode微软官方的LivePreview来了

今天更新了vscode1.59版本,看到更新简要里写着Live Preview extension这个插件是一个网页的实时渲染显示功能,就和markdown的实时预览功能一样。安装插件以后会发现在打开html文件的状态下右上角多了一个跟markdown一样的预览按钮,点击之后又会出现一个编辑器内置的web窗口。相比于LiveServer只能打开网页的实时渲染功能(现在也可以内置在编辑器内,但是不稳定),Live Preview无疑跟vscode的集成程度更高(毕竟是微软官方插件)。目前此插.

2021-08-06 16:11:09 5285 2

原创 C语言中函数内的局部变量的内存在函数结束后会被释放

记录一次BUG,C语言中函数内的局部变量在函数返回后会被释放,因此在左边程序rs485_H中可以成功的取地址并赋给mbHandler->rs485_H,但是在此函数结束后,再次使用mbHandler->rs485_H时会发生错误,而且很难发现:(。...

2021-07-27 23:29:02 3361 1

转载 linus访谈:没有比C更好的编程语言

没有比C更好的编程语言https://www.bilibili.com/video/BV1XA411L72linus:I like interacting with hardware from a software perspective and I have yet to see a language that comes evev close to C in that respect.It’s not just that C you can use C to generate good cod

2021-05-19 22:09:54 202

原创 不定积分公式和推导

不定积分公式一、记忆部分∫tan⁡xdx=−ln⁡∣cos⁡x∣+C\int{\tan x}dx = -\ln |\cos x|+C∫tanxdx=−ln∣cosx∣+C∫cot⁡xdx=ln⁡∣sin⁡x∣+C\int \cot xdx = \ln |\sin x|+C∫cotxdx=ln∣sinx∣+C∫sec⁡xdx=∫1cos⁡xdx=ln⁡∣1+sin⁡xcos⁡x∣+C\in...

2020-04-09 21:38:37 15906 2

原创 寄存器机 RodRego

RodRego — a register machine寄存器机(register machine)是一种类似于图灵机一样的抽象机器,是计算机模型的一种,他和其他的抽象机一样都是图灵等价的。RodRego是哲学家丹尼尔·丹尼特和他的朋友制作的一款寄存器机模拟软件。通过编写简单的命令在RodRego进行计算,你可以了解计算机是如何进行计算的。寄存器机器主页: http://sites...

2019-09-09 21:32:55 1128 1

原创 CSAPP笔记--第八章 异常控制流

第八章 异常控制流ECF8.1 异常 Exception异常Exception中断:异步异常同步异常陷阱故障中止异常是异常控制流的一种形式,他一部分由硬件实现,一部分由操作系统实现。在任何情况下,当处理器检测到有事情发生时,他就会通过一张叫做异常表(exception table)的跳转表,进行一个简介过程调用(异常),到一个专门用来处理这类事件操作系统子程序(异常处理程序 excepti...

2019-08-30 18:47:45 209

原创 AT&T和Intel汇编区别

AT&T和Intel汇编区别AT&TIntel大多使用小写字母大多使用大写字母寄存器名要加上%前缀没有前缀操作指令源在前,目标在后目标在前,源在后访问指令的操作数大小由操作码名称最后一个字母决定在操作数前面加“BYTE PTR”或者“WORD PTR”直接数要加$前缀不带前缀jump/call的操作数要加“*”前...

2019-08-29 20:14:30 171

原创 简单可执行文件

最小的可执行文件使用write系统调用。TinyHelloWorld.cchar *str = "Hello world!\n";void print(){char *str = "Hello world!\n";void print(){ /* asm为嵌入式汇编关键词 syscall表示进行系统调用 rex表示系统调用号,1号为write调用 in...

2019-08-29 10:50:47 248

原创 链接,装载与库--“最小的程序“在64位系统下运行

在阅读《程序员的自我修养–链接装载与库》的第四章 静态链接 4.6.2最小的程序时,发现代码是基于linux32位系统的程序,无法在64位系统上编译和运行。正确的64位程序应该为代码char *str = "Hello world!\n";void print(){ asm("movq $13,%%rdx \n\t" "movq %0,%%rsi \n\t" ...

2019-08-27 21:40:06 198

原创 Spring项目中创建ClassPathXmlApplicationContext对象时 路径没问题 却找不到xml文件

问题描述ClassPathXmlApplicationContext context;context = new ClassPathXmlApplicationContext("Knight.xml");在运行这段代码创建ClassPathXmlApplicationtext对象时,一直输出无法找到xml文件的异常,即使使用C:\Users\asus\Desktop\java\Spring...

2019-08-24 19:13:34 4731

原创 推荐几个好看的emacs主题(emacs颜值党)

1 monokai输入package-list-packages,查找monokai,一款非常经典的配色,个人最喜欢的主题,颜值非常高。2 tango-dark个人觉得是emacs自带的几个主题中最好看的一个,在Options --> Coustomize emacs --> Coustom Themes 中选择tango-dark配色简单大方,没有一些特别伤眼睛的...

2019-08-05 00:13:56 5544 1

原创 在emacs中使用百度翻译

因为我的英语水平不好,在查看emacs帮助文档时经常需要使用一些翻译软件,在elpa镜像源中有google-translate插件,但是需要翻墙,于是我就仿照着google-translate插件的功能,使用百度翻译API写了一个emacs翻译插件。项目地址:https://github.com/liShiZhensPi/baidu-translate该插件已经上传到melpa上,只要你加...

2019-07-31 12:35:45 381

原创 Java Socket+多线程 实现多人聊天室功能

思路简介分为客户端和服务器两个类,所有的客户端将聊的内容发送给服务器,服务器接受后,将每一条内容发送给每一个客户端,客户端再显示在终端上。客户端设计客户端包含2个线程,1个用来接受服务器的信息,再显示,1个用来接收键盘的输入,发送给服务器。import java.io.IOException;import java.io.InputStream;import java.io....

2019-06-03 17:56:05 2068 1

原创 Java Socket实现双向通讯

当我们使用java套接字编程实现通讯时,如果想实现双向的通讯,就有必要对每次传输的数据量进行限制。例如,实现一个可以进行多次密码验证的服务器--客户端程序。首先是服务器代码import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Server...

2019-06-02 18:30:19 3446

GNU and free software.zip

一个介绍GNU计划和自由软件运动的介绍稿,另附上PPT,英语课上的作业。

2019-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除