暗色调的博客

一个编程领域的懵懂自学者,人笨慢慢琢磨,长期看不懂别人写的文章资料,不知道怎么从条件A嗖的一下就转换到结果B了。...

linux 系统编程 --网络通讯基础知识 (十)

协议就是一种提前约定好的规则。 c/s模式: 客户端/服务器模式。 优点:协议选择灵活,完全可以使用自定义的协议; 能够通过客户端预先缓冲数据,适合中大型的项目;稳定性较高 缺点: 因为需要额外下载客户端,对用户安全构成威胁(不知道客户端在干什么);开发工作量相对较大,需要开发服务器和客户端两类程...

2019-05-07 23:17:00

阅读数 10

评论数 0

linux 系统编程 -- 进程间通讯IPC 管道(八)

因为在linux系啊,进程地址空间相互独立,所以进程和进程之间不能相互访问。要交换数据必须通过内核。 有很多方法都可以完成这类功能,比如文件、管道、命名管道、信号、共享内存、消息队列、套接字等,随着技术的发展,有些方法已经被淘汰。现今最常用的方法是: ① 管道 :使用最简单,传递数据量较小 ,本机...

2019-05-02 09:50:47

阅读数 12

评论数 0

linux 系统编程 --再谈进程(七)

经典linux把进程分为5个状态,运行态,停止态,等待态(两种),僵死态。 还有一种划分法: 就绪态,运行态,挂起态,停止态。

2019-05-01 08:23:25

阅读数 15

评论数 0

linux 系统编程 --cpu与指令的工作流程,MMU,环境变量(六)

单道程序设计:一段时间只有一个程序在运行。 多道程序设计:时钟中断是硬件基础,让多道程序设计的理论得以实现,多个程序轮流使用cpu(时间片),当下常见的cpu为纳秒级,而人眼的反应速度是毫秒级,所以看似在同时运行。 实质上,并发是宏观,微观依然是串行。 MMU在cpu内部,以page为单位,在3...

2019-04-30 11:14:50

阅读数 39

评论数 0

linux 系统编程 -- 尝试编写who命令(五)

who命令可以显示出登陆的用户和时间等信息。 它的工作原理是读取/var/run/utmp文件 再利用man -k utmp来搜索,知道跟它密切相关的应该是man 5 utmp utmp文件记录了当前一部分正在使用系统的用户信息,但是它不是所有的用户,有些程序不在utmp文件中登记。 该文...

2019-04-27 08:14:56

阅读数 34

评论数 0

linux 系统编程 -- 信号及信号处理(四)

概念 信号是一种软件中断,它提供了一种处理异步事件的方法,也是进程间唯一的异步通信方式。 信号的来源: ①硬件方式:按键会产生信号,比如ctrl+c组合键,产生一个SIGINT信号;硬件异常信号,比如除数为0,无效存储访问,由cpu通知内核,内核生成相应信号。 ②软件方式: 用户在终端下调用kil...

2019-04-23 11:41:49

阅读数 37

评论数 0

linux系统编程--进程概念与创建(三)

概念 多用户多任务的操作系统,必须对程序能够并行执行。 核心的概念就是进程,或者说进程是操作系统资源管理的最小单位。 操作系统通过进程来管理计算机的软,硬件资源。 进程和程序的区别: 进程是动态的实体,是程序的一次执行过程;程序是静态的,是保存在硬盘上的代码。 线程: 在进程内又划分了许多线程,它...

2019-04-21 06:35:25

阅读数 15

评论数 0

linux 系统编程--文件I/O读写(二)

linux系统设计的核心理念在于文件。 文件包含两方面的内容,一是文件本身所储存的数据,二是文件的属性,包括文件的访问权限、所有者、文件大小、创建日期等。 从左到右依次是文件属性(目录也是文件),文件数量(子目录数),所有者,用户组,文件大小,文件创建时间,文件名。 linux中文件...

2019-04-20 07:17:37

阅读数 23

评论数 0

linux 系统编程--系统调用概念,出错处理(一)

铁律 无论何时,只要执行了系统调用,都要检查调用的返回状态以确定是否调用成功! 概念 系统调用是内核入口,借助于这一机制,程序员可以请求内核去执行某些动作,称为应用程序编程接口API。 无论是linux还是windows,这一概念并没有区别。 ① 系统调用将处理器从用户态切换到核心态,以...

2019-04-20 03:02:22

阅读数 18

评论数 0

编译原理初级入门--自制词法分析器(二)

对前面的源码进行改进,增加识别keyword关键字,变量名,赋值符。 或者不带空格版本,都能正确识别 但是问题依然很多,怎么识别运算优先级?怎么识别括号,大括号(不在一行内),怎么识别拼写错误? 这类问题不属于词法分析的范畴,而是语义分析的领域。 ...

2019-04-17 04:19:39

阅读数 21

评论数 0

第14章--打开文件和随机移动文件指针的一些要点

新建一个test文件,内容如下: 系统显示 因为每一行都有不可显的字符\r\n 但是用c语言编程打开该文件 ,并统计显示: #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include &...

2019-04-17 00:56:40

阅读数 15

评论数 0

ege图形库--交互(五)

//用户交互——键盘1 #include <graphics.h> //这个例子需要这个头文件 #include <stdio.h> int main() { initgraph(640, 480); setfont(18, 0, ...

2019-04-13 12:41:40

阅读数 42

评论数 0

编译原理初级入门--词法分析,创建状态机(一)

本文参考了《从零开始写个编译器吧》,《编译原理思路》,《状态机实现方法》等文章。 感谢这些大佬们对知识的无私奉献。 自己思考总结与实践。 编译器本身是一个程序,这个程序能将一种代码(源代码)翻译成另一种代码。 如果单独去看《编译原理》的书,估计大部分人都看不懂,因为太复杂了。 一般编译原...

2019-04-12 03:47:35

阅读数 37

评论数 0

ege图形库--多图像运动与帧率(四)

//基础动画三,更丰富的变化与帧率 #include <graphics.h> #include <stdio.h> void mainloop() { //x,y记录当前位置,dx,dy记录速度向量,r记录圆半径 ...

2019-04-10 05:41:46

阅读数 22

评论数 0

ege图形库-- 抓取屏幕,贴图,动画基础框架(三)

贴图 //使用IMAGE——抓图,绘画到IMAGE,IMAGE到屏幕 #include <graphics.h> //IMAGE对象相当于一个绘图板,而同时也可以作为图片画到其它IMAGE上 //它是一个非常灵活的对象,复杂的绘图都要借助IMAGE,以便更好...

2019-04-10 03:18:11

阅读数 19

评论数 0

第四章 windows下git实践使用

windows有一个单独的git软件,叫做git scm。 它安装完成后提供了3个交互方式,一个是git bash,一个是git cmd,另一个是git gui 其中给新人准备的gui还是不错的,无需输入命令,鼠标点点。 另外在网上搜索到一张非常详细的git命令图表: 常用的比如git st...

2019-04-09 13:31:21

阅读数 10

评论数 0

ege源代码分析--ege.h头文件(二)

打开ege.h头文件,从上到下慢慢看一下,试着分析分析。 首先ege不是一个标准c语言图形库,它大部分用的是c语言代码,少量也使用了c++的特性。 比如名称空间,类等。 所以编译需要c++编译器,而不是ANSI C编译器。 _MSC_VER 是什么? 编译器自己的宏定义,提供了vs的版本,不...

2019-04-09 00:21:06

阅读数 41

评论数 0

easyx与ege图形库的比较学习(一)

首先对比一下两者的库文件,头文件,以vs2015 win10 64位为例: Easyx 头文件 graphics.h , 库文件两个 EasyXa.lib // VC2015 ~ 2017 库文件(x64, MBCS 版本) EasyXw.lib // VC20...

2019-04-08 22:02:38

阅读数 95

评论数 0

vscode 配置安装ege和easyx等第三方图形库失败

首先是下载ege和easyx图形库。 初步问题 对于ege图形库,把解压出来的graphics.h和libgraphics64.a库文件放进vscode的文件夹里,光这样是不行的。 仍然会提示找不到头文件。 要解决这个问题,必须了解vscode对于头文件的包含规则 Where a...

2019-04-08 12:15:57

阅读数 63

评论数 0

个人实践win10下 64位 c与c++语言 vscode 的安装与配置,2019年4月

才知道有这么个文本编辑器,微软开发的,开源跨平台。支持市面上的各种主流语言(通过插件扩展),有智能补全,高亮等等功能。 整个文本编辑器几十MB,挺小巧。 界面看起来挺漂亮,所以准备尝尝鲜。 安装 版本是vscode 1.33 ,安装完成后是英文的,修改为中文界面: 直接安装简体中文插件 ...

2019-04-08 08:02:04

阅读数 90

评论数 0

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