谁说C语言不能面向对象(之二:封装)

从这节开始,我们就要正式开始用C语言实现面向对象了。不过,受限于C语言的语法,实现OO还是需要很多编程技巧的。在此之前,我想先介绍一种可以算得上是捷径的方法吧。 其实用C语言来实现OO,我们并不是第一个。说起来,这也算挺成熟的技术了,成熟到都已经过时了。有一个很著名的程序语言,就是利用C语言...

2019-03-02 00:59:39

阅读数 21

评论数 0

谁说C语言不能面向对象(之一,前言)

看到题目,我相信一定有很多人觉得,嗯,我确确实实是个逗比。各种权威资料上写得非常清楚,C语言是面向过程的语言,C++,Java,OC,Python,JS等这些才是面向对象的语言。这个逗比,竟然觉得C可以面向对象,看来他真的是个逗比。 所以我在此先声明一下我起这个标题,以及,写这个系列文章的初...

2019-03-01 22:03:40

阅读数 77

评论数 0

逗比老师带你搞定C语言指针

哈喽!各位同学们大家好哇!逗比老师又回来了!好久都没有见到大家了真是想死我了! 最近呢,我有一个亲戚,还在读大学,正在学C语言,然后他在我的博客上看到了我之前写过的C教程,结果没有几篇就戛然而止了,于是就攒了很多问题来问我。这里给大家抱歉哈,真的不好意思,逗比老师实在是太忙了,顾不上给大家更...

2019-02-26 22:17:26

阅读数 162

评论数 0

Swift和C/Objective-C混编超详解

    文章可能写得有点晚了,Swift语言已经诞生很久的时间了,现在它已经挤掉了OC很大的市场了,但是,总是存在很多老项目,或者是第三方库还没有完全翻译成Swift,因此,混编还是需要的。虽然现在详解可能有点晚,不过还是希望能写一篇关于混编的详细讲解,方便那些遇到困惑的童鞋学习和查阅。    ...

2018-11-18 01:37:11

阅读数 362

评论数 0

macOS开发中网络连接或数据库连接收到错误“Operation not permitted”的解决方法

    在给出解决方案之前,我一定要好好吐槽吐槽,网上对于原生态的macOS开发的资料实在实在是太少了,关于这方面的问题在网上怎么搜都搜不出来,唯一的参考资料就是苹果开发者官网,但是对于我们大多数英语不是很好的开发者来说,阅读起来难度太大,而且,针对一些配置之类很细节的问题,在上面又没办法定位到,...

2018-04-25 13:25:31

阅读数 536

评论数 1

sqlite.swift应用简介

SQLite3是一款非常轻便易用并且开源的嵌入式数据库,而SQLite3官方所提供的API接口是用C来提供的,如果用swift进行macOS或是iOS开发的话,就会很不方便,因此有一个国外的大神用swift封装了SQLite提供的API,并且分享在了GitHub上,称之为sqlite.swift,...

2017-06-22 11:13:53

阅读数 708

评论数 0

macOS开发中NSWindow, NSWindowController, NSView, NSViewController的关系

macOS使用的Cocoa框架,的确没有iOS使用的Cocoa Touch那么智能好用。有些地方逻辑很奇怪,还有一些看似很正常的功能它却没有提供,还需要自定义。这里就有一个很头疼的问题,关于这四个类的问题,他们之间到底是什么关系,如果摆脱了storyboard如何用代码实现?今天就来简单介绍一下。...

2017-06-14 23:32:16

阅读数 6062

评论数 2

在macOS开发中使用Touch Bar

苹果在2016年秋天发布了新款MacBook Pro,其中有一个新的功能就是用Touch Bar来代替了传统的功能键(F1-F12),它功能强大,开发者可以将其设计成各种样式,并允许用户自定义,为用户和笔记本电脑之间的交互添加了新的方式。个人用过之后,还是非常不错的,尽管它实现的功能可以用快捷键或...

2017-06-09 02:03:21

阅读数 1436

评论数 0

009-彩色的显示器

上次讲到了引用C语言开发的原因以及如何使用C语言与之前的汇编头结合,这次,正式开始C语言的开发。        由于我们已经指定了C语言编写的入口函数为OSMain(),那么,就从这个函数开始写吧。既然要写一个函数,我们首先得确定这个函数的参数和返回值类型。如何确定呢?那得看谁会来调用这个函数,又...

2017-03-09 00:02:10

阅读数 230

评论数 0

008-C语言开发的开始

上次介绍了如何进入保护模式以及完成程序的跳转,那么这一次我们就将转向高级语言编写主要的程序代码。但是在这之前我们必须考虑一个问题,那就是在汇编语言中,你可以自由指定你写的程序的加载和读取位置(至少也是可以指定相对位置),但是像C语言这样的高级语言恐怕就没这么简单了。使用C语言编写程序的时候,编译器...

2017-03-07 20:58:24

阅读数 169

评论数 0

对电子游戏的平衡性和可玩性的直观感受和对游戏生涯的憧憬

说道电子游戏(指的是电脑游戏和手机游戏),我相信大家都能有所分享。虽然说对于我本人而言,其实游戏玩得真心不多。但是,至少在这十几年来,还是有一些值得诉说和分享的东西。        在我两岁的时候(1998年……好吧,暴露年龄了),家里就有电脑了,那时候这还算比较稀罕的东西,父亲希望我可以早早接触...

2017-03-07 00:24:33

阅读数 374

评论数 0

007-进入保护模式

上次讲解到了OS内核的开始以及在进入保护模式之前需要了解一些概念。首先给出这部分内容的完整代码,然后分别来介绍。 BOTPAK EQU 0x00280000 DSKCAC EQU 0x00100000 DSKCAC0 EQU 0x00008000 CYLS EQU 0x0f...

2017-03-06 13:36:28

阅读数 247

评论数 0

006-继续编写操作系统

上次我们完成了ipl的阶段性目标,现在主要开始着手写操作系统内核。由于在实模式下能够使用的内存实在太少,而且对硬件也而是一种浪费,因此,我们要写一个32位内核的操作系统,所以,就要先进入保护模式。但是,由于在保护模式下不能调用BIOS,因此,要在引入保护模式之前,把可能需要用到的信息保存在内存中。...

2017-03-05 16:15:43

阅读数 185

评论数 0

1.4 复合数据类型和枚举类型

逗比:呜啦啦啦啦啦~呜啦啦啦拉拉~各位小伙伴们大家好呀,欢迎来到暴走大…… 棒槌:CUT! 逗比:哈?怎么了?第五季的出场不够帅? 棒槌:我说你拿错剧本了吧…… 逗比:哦?是吗?啊呀!!!还真是咧,这是圣诞老王的剧本…… 棒槌:我说你是来逗比的吗? 逗比:咳咳,明明是你昨天嫌我太正经,...

2017-03-02 17:28:09

阅读数 229

评论数 0

1.3逗比又回来了!

棒槌:逗比啊,我说你这一年到底上哪去了,我还以为你变成代码被crush了! 逗比:这个真的实在实在实在是很抱歉啊,去年突然接了一个活,然后就去忙活,后来跑去进修,再后来就过年了,这不一直到这会。 棒槌:你倒是到处逍遥去了,你让你这些学生怎么办啊,哪有开课一年都不带更新的啊,很多学生都等不下去了...

2017-03-01 23:28:00

阅读数 147

评论数 0

005-完成ipl

上次完成了启动盘,我们已经成功把启动区加载到了内存中,当然了,这512字节的空间肯定是不可能够我们写一个完整的操作系统的,所以,我们操作系统的其他部分肯定得在别的地方写,那么,ipl的任务就应该是把软盘这1440KB的内容全部加载到内存中,不过这里有一个相当严重的问题,就是我们在实模式下,只有20...

2017-03-01 22:38:39

阅读数 202

评论数 0

004-写一个真正的启动盘

上次说到了使用软盘启动计算机的注意事项,那么,我们就来实际的操作一下,写一个真正可以用于启动计算机的启动盘。        首先,我们打开BZ,创建一个文件,然后按照以下方式来书写: 后面就全是0了,因为还没写东西,注意要一直写满1440KB        当然,这样的话还不...

2017-03-01 20:09:58

阅读数 221

评论数 0

003-软盘启动原理

软盘,这东西虽然现在很罕见了,但是在20年前,软盘是主要的外部存储器,再早一点的时候还没有硬盘,所有的数据都是存放在软盘上的,当然也包括操作系统。我们之所以仍然选择软盘作为我们操作系统的启动介质,是因为软盘有着其特点和明显的优势。如果我说硬盘,你可能第一反应会问我多大的硬盘,因为硬盘的种类很多。但...

2017-02-28 23:20:34

阅读数 662

评论数 0

002-发生在操作系统之前的事情

操作系统这个概念应当来说,在计算机的层析结构中处于正中间的位置。计算机本身是由一系列电子元件和芯片组成,这些根据相应规则组成的电子电路就形成了计算机硬件。对于逻辑电路的设计来说,其实我们任何的需求都是可以直接用硬件来实现的,但是,由于我们几乎无法实现预测到计算机将要完成的所有事情,因此,纯硬件编程...

2017-02-28 20:13:44

阅读数 635

评论数 0

001-自编写操作系统系列文章说明

本系列文章是本人自己学习操作系统底层实现的笔记、成果和心得的记录。        学习该部分初始阶段的主要参考资料是由日本程序员川合秀実(かわいひでみ)著作的《30日でてきる!OS自作入門》,用到了书的附件中很多软件和工具,在这里对川合先生以及该书的翻译人员表示衷心的感谢。        虽然...

2017-02-28 19:27:53

阅读数 283

评论数 0

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