覆盖 (编程)
在一般的计算机概念中,覆盖(Overlay)表示将一块指令或数据替换为另一块的行为。覆盖是一种编程技术,允许程序在主存空间不足时仍能运行。在嵌入式系统中,由于缺乏虚拟内存机制,覆盖技术也被广泛应用以克服物理内存的限制。 用法 构建一个覆盖程序需要程序员将程序手动分割为独立的目标代码。覆盖管理器由操作系统或程序本身提供,用于从外存读取所需数据并交换到主存中。通常情况下,链接器都会提供对覆盖的支持。 例子 以下是一个示例,展示了用于使OS/…
共 74 篇文章
在一般的计算机概念中,覆盖(Overlay)表示将一块指令或数据替换为另一块的行为。覆盖是一种编程技术,允许程序在主存空间不足时仍能运行。在嵌入式系统中,由于缺乏虚拟内存机制,覆盖技术也被广泛应用以克服物理内存的限制。 用法 构建一个覆盖程序需要程序员将程序手动分割为独立的目标代码。覆盖管理器由操作系统或程序本身提供,用于从外存读取所需数据并交换到主存中。通常情况下,链接器都会提供对覆盖的支持。 例子 以下是一个示例,展示了用于使OS/…
基於原則設計(Policy-Based Class Design)又名policy-based class design 或 policy-based programming, 是一種基於C++電腦程式設計規範,以原則(Policy)為基礎,並結合C++的模板超編程(template metaprogramming)。policy-based首見於 Andrei Alexandrescu 出版的 《Modern C++ Design》 …
Clean Code是软件工程的詞語,源自所著的同名書籍。软件设计师認為的Clean Code是指原始碼本身很清楚,而且相關的資訊、概念、規則及程序是直覺上容易理解的,也就是在合理的時間,不用花非常多的心力即可以理解的程度。Clean code的好處是其本身是穩定、有效率的程式,在後續機能強化以及錯誤修正時,可以花比較少的時間。軟體生命週期中,有80%都是維護期,因此這方面的影響很大。 開發clean code的困難包括有: 剛開始時的…
控制字符,是出现在特定的信息文本中,表示某一控制功能的字符。 在计算中,一个控制字符或非打印字符,是一个码位(一个数字)是否在字符集,其自身也是书写字母来描述的。所有输出在32以下的ASCII表都是这个类型,包括 BEL(要求有声信号来响应终端的接收) SYN(同步信号) ENQ(要求接收后发出响应来验证存在) Unicode标准增加了许多新的非打印字符,比如零宽不连字。 在ASCII中 在ASCII中常用的控制字符包括 7(bell响…
游戏编程指利用计算机编程语言,如C编程语言、C++编程语言、汇编等,编制计算机或游戏机上的游戏。 目前流行的游戏编程语言为C++编程语言,目前流行的游戏编程接口为DirectX 9.0,还有OpenGL、SDL等。 游戏脚本 游戏脚本是指在制作电子游戏的程序时,程序员为电子游戏程序编写的脚本语言。脚本语言是为了缩短传统的编写-编译-链接-运行过程而创建的计算机编程语言,而游戏脚本语言在电子游戏程序的编写中被广泛使用。 目前的电子游戏编程…
wxWidgets(,原名wxWindows)是一個開放原始碼且跨平台用來建立圖形使用者介面(GUI)的物件工具集(widget toolkit)程式庫。wxWidgets原創是由Julian Smart於1992年在愛丁堡大學首先開發。 wxWidgets使採用其函式庫所開發的圖形介面軟體只需要對原始碼做少量更改(或者完全不用更改),就能在各種不同的作業平台上編譯並執行。目前可支援Windows、Apple Macintosh、Lin…
程序设计方法学是讨论程序的性质以及程序设计的理论和方法的一门学科,是研究和构造程序的过程的学问,是研究关于问题的分析,环境的模拟,概念的获取,需求定义的描述,以及把这种描述变换细化和编码成机器可以接受的表示的一般的方法。 程序设计方法学发展历史 产生背景 1950年代—1960年代初,手工艺式的程序设计方法,高德纳把程序称为艺术品。 1960年代末—1970年代初,出现软件危机:一方面需要大量的软件系统,如操作系统、数据库管理系统;另一…
桩(Stub / Method Stub )是指用来替换一部分功能的程序段。桩程序可以用来模拟已有程序的行为(比如一个远端机器的过程)或是对将要开发的代码的一种临时替代。因此,打桩技术在程序移植、分布式计算、通用软件开发和测试中用处很大。 以下是桩程序的一个例子(伪码): BEGIN Temperature = ThermometerRead(Outside) IF Temperature > 40 THEN PRINT "It's H…
在计算机科学中,持久性是的一個特征。一般計算機是将某個状态作为数据存储在電腦數據存貯器以实现持久化。程式必須将数据存儲在儲存設備以及从存储设备中讀取数据,并且必须提供本地编程语言数据结构和存储设备数据结构之間的映射。 参考文献
A+B问题是一个基础的程序设计问题。通常是信息学在线评测系统用来测试提交和输入输出方法的题目。 一般描述 输入两个数A和B(一般是在整数范围内),输出A+B的计算结果。 範例程式碼 Java import java.util.; public class AB { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int a,b; a=…
可变参数模板是模板编程时,模板参数(template parameter)的个数可变的情形。 已经支持可变参数模板的编程语言有D语言与C++(自C++11标准)。 C++11 声明 C++11之前,模板(类模板与函数模板)在声明时必须有 固定数量的模板参数。C++11允许模板定义有任意类型任意数量的模板参数。 例如,STL的类模板tuple可以有任意个数的类型名(typename)作为它的模板形参(template parameter)…
每日构建(Daily build)或每夜构建(Nightly build)是在每天进行最新版本程序的构建流程。编译首先可以确保所需依赖项的存在,其次可以进行测试确保无程序错误的存在。每日构建也通常被公开发布以接收对最新特性的反馈。在此语境中的构建一词是编译并链接所有构成程序的文件的结果。这种严谨流程在许多程序员为程序的同一部分编写代码的大型组织中极其重要。进行每日构建可确保开发者可以继续工作并对在完成工作的最后一天出现的新程序错误有着一…
通用网络驱动接口 (Universal Network Device Interface,UNDI) 是一个用于PXE协议的网卡(NIC)的应用程序接口 (API) 。 參見 网络驱动程式介面规范 (NDIS) 统一驱动程序接口 (UDI) (ODI)
在程式設計中,虛設代碼(dummy code)是插入在程式骨幹中,用以假裝處理、並防止編譯時的錯誤訊息。它可能包含一個空的函式宣告,或者令函式返回正確的結果,僅僅是為了一個簡單的測試,以此觀察是否能從已知的代碼得到預期的反應。以虛設代碼建立的程式骨幹,類似於假碼,不過其允許語法分析、編譯並且測試代碼。虛設代碼促進由上而下的設計過程,系統的部分功能以完整的高階結構設計和編寫,然後再針對專案需求完成細節方面的擴充。 在物件導向程式設計中,虛…