Programming abstractions in C阅读笔记:p107-p110

news2024/11/25 18:28:05

《Programming Abstractions In C》学习第46天,p107-p110,3.1小节——“The concept of interface”,总结如下:
一、技术总结
1.client
p108,调用library的program称为client。

2.interface
p108,“To do so, the chapter focuses on the boundary between a library and its clients, which is called interface.”。
p108,“In English, the word interface means a common boundry between two distinct entities.”
在这里插入图片描述

在C语言中,interface就是一个的“xxx.h”文件,如stdio.h。

3.package
p109,"If you are assigned to develop a libray, part of your job consists of producing a .h file to serve as the library interface and a corresponding .c file that provides the underlying implementation. Those file constitute the package."根据这句话,.a 和 .h和在一起称为package。示例:stdio就是一个package。

4.approach
p110,“The two libraries embody different approaches…”。根据该句,approach指的就是函数,例如:getchar()。

二、英语总结
1."Interfaces are central to a modern treatement of libraries,"一句中treatement什么意思?
答:treatment:n. the way you deal with or behave towards to sb or sth.(对待,处理),“treatment of sth”意为“对sth的处理”,注意介词用的是of。

2.counterpart什么意思?
答:counter(词根contra,“facing, opposite”) + part(词根partie,“copy of a person or thing”)。counterpart的意思是“n. a person or thing that has the same purpose as another one”(相对应的东西)。作为对比,opposite含有“相反”之意,corresponding是形容词。

3.an amount of /amounts of语法
答:单独的使用an mount of/amounts of指表示数量,未表面数量的多少,所以,amount前面经常放置用于修饰数量的形容词,例如:enormous,large,regular等。

4.the designer of an interface must exercise special care to get it right一句中exercise什么意思?
答:vt. use sth。所以exerciese care 等同于use caution 或者be careful。

三、参考资料
1.编程
1)Eric S.Roberts,《Programming Abstractions in C》:https://book.douban.com/subject/2003414
2.英语
1)Etymology Dictionary:https://www.etymonline.com
2)Cambridage Dictionary:https://dictionary.cambridge.org

欢迎搜索及关注:编程人(a_codists)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/872998.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nbcio-boot升级到3.1后出现online表单新增报错

nbcio-boot升级springboot、mybatis-plus和JSQLParser后出现新增online表单的时候报错,如下: 2023-08-13 21:18:01.292 [http-nio-8080-exec-12] [1;31mERROR[0;39m [36mo.jeecg.common.exception.JeecgBootExceptionHandler:69[0;39m - Handler dispat…

MEC | 条款3 绝对不要以多态(polymorphically)方式处理数组

条款3 绝对不要以多态(polymorphically)方式处理数组 文章目录 条款3 绝对不要以多态(polymorphically)方式处理数组继承Example 打印基类-派生类数组传入BalencedBST 数组到函数 删除基类-派生类数组>>>>> 欢迎关…

8.1.tensorRT高级(3)封装系列-模型编译过程封装,简化模型编译代码

目录 前言1. 模型编译过程封装2. 问答环节总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 高级-模型编译过程封装…

详细讲解如何在github上编辑个人主页?

在 GitHub 上编辑个人主页可以让您展示您的项目、技能和个人信息,以及与其他开发者互动。以下是详细的步骤来在 GitHub 上编辑个人主页: 创建 GitHub 账户 如果您还没有 GitHub 账户,首先需要注册一个。 登录到 GitHub 使用您的用户名和密…

StringBuilder的基本操作

1、为什么要学习StringBuilder? 1.1、String拼接100万次 String对象做字符串拼接,字符串直接拼接100万次,运行速度非常非常的慢,当数据量比较大的时候,一般不用字符串直接拼接 package stringdemo;public class StringTest {publ…

数据结构:选择排序

简单选择排序 选择排序是一种简单直观的排序算法。首先在未排序序列中找到最大(最小)的元素,存放到排序学列的其实位置,然后在剩余的未排序的元素中寻找最小(最大)元素,存放在已排序序列的后面…

9.利用matlab完成 泰勒级数展开 和 符号表达式傅里叶变换和反变换 (matlab程序)

1.简述 matlab之傅里叶变换和逆变换 首先生成一个方波(或者其他组合波形),然后对这个信号做傅里叶变换,拆解到频域,可以看到这个信号是由哪些频率的信号叠加而来。 然后把频域信号,用傅里叶逆变换恢复到时…

Grafana Prometheus 通过JMX监控kafka 【2023最新方式】

第三方kafka exporter方案 目前网上关于使用Prometheus 监控kafka的大部分资料都是使用一个第三方的 kafka exporter,他的原理大概就是启动一个kafka客户端,获取kafka服务器的信息,然后提供一些metric接口供Prometheus使用,随意它…

编写守护进程

守护进程是一个后台进程,当操作系统启动时就可以运行的进程,当操作系统结束时结束的进程,与终端无关。 结果 不想要了就杀死

rt_hw_stack_init 线程栈初始化参数分析

rt_hw_stack_init rt-thread线程栈初始化参数分析 文章目录 rt_hw_stack_init rt-thread线程栈初始化参数分析Q:A:1. rt_hw_stack_init调用分析2. rt_hw_stack_init 实现分析2.1 向下增长型栈 rt_hw_stack_init 实现2.1 向上增长型栈 rt_hw_stack_init 实现 扩展知识&#xff1…

MybatisPlus中安装MybatisX插件及代码生成

创建一个新的模块 导入依赖 设置application.yml 连接数据库 点击下面红色框里面的,然后点apply,最后点ok 选好之后点next base path 根据自己的路径写 选完之后点finish 这样就自己生成了代码。 快速生成CRUD 选择方法后altenter 还可以多条件 方法…

NetSuite 固定资产租赁101

目录 前言 1.新租赁准则的相关内容 1.1 主要变化 1.2 IFRS 16/ASC 842/CAS 21的区别与联系 1.3 新租赁准则实行的意义 2.NetSuite中的租赁功能 2.1 概述 2.2 设置 2.2.1 相关科目设置 2.2.2 资产类型设置 2.3 功能详细说明 2.3.1 案例一 2.3.2 案例二 3.新租赁准则…

kafka 02——三个重要的kafka客户端

kafka 02——三个重要的kafka客户端 1. 前言1.1 关于 Kafka 的安装1.2 常用客户端简介1.3 依赖 2. AdminClient2.1 Admin Configs2.2 AdminClient API2.2.1 设置 AdminClient 对象2.2.2 创建 topic 获取 topic 列表2.2.3 删除topic2.2.4 查看 topic 的描述信息2.2.5 查看 topi…

小白带你部署LNMP分布式部署

目录 前言 一、概述 二、LNMP环境部署 三、配置nginx 1、yum安装 2、编译安装 四、安装 1、编译安装nginx 2、网络源 3、稍作优化 4、修改配置文件vim /usr/local/nginx/conf/nginx.conf 5、书写测试页面 五、部署应用 前言 LNMP平台指的是将Linux、Nginx、MySQL和…

Spring Boot + Vue3前后端分离实战wiki知识库系统<十二>--用户管理单点登录开发一

目标: 在上一次Spring Boot Vue3前后端分离实战wiki知识库系统<十一>--文档管理功能开发三我们已经完成了文档管理的功能模块开发,接下来则开启新模块的学习---用户登录,这块还是有不少知识点值得学习的,…

谈谈语音助手

目录 1.什么是语音助手 2.语音助手的发展过程 3.现在有哪些成熟的语音助手 4.语音助手对人类发展的影响 1.什么是语音助手 语音助手是一种能够通过语音交互与用户进行沟通和执行任务的虚拟助手。它基于人工智能和自然语言处理技术,能够理解用户的语音指令&#x…

LeetCode 36题:有效的数独

题目 请你判断一个 9 x 9 的数独是否有效。只需要 根据以下规则 ,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。(请参考示例图&#xff…

MEC | 条款4 非必要不提供 default constructor

条款4 非必要不提供 default constructor 文章目录 条款4 非必要不提供 default constructorclasses 必须有默认构造函数?Example1. 产生数组解决方法 2.不适用于 template-based container clases3.虚基函数 探讨>>>>> 欢迎关注公众号【三戒纪元】 …

CANoe自动化工程的搭建

基于XMLCAPL建立自动化工程 1、导入ini文件2、新建 Test Environment3、报告类型4、代码编写 1、导入ini文件 工程的配置的文件,配置DUT相关信息,具体视工程而编写内容。 2、新建 Test Environment 1、新建XML测试用例环境 2、导入XML测试用例文件 …

vulnhub靶机Deathnote

难度:easy 下载地址:https://download.vulnhub.com/deathnote/Deathnote.ova 主机发现 arp-scan -l 端口扫描 nmap --min-rate 10000 -p- 192.168.21.140 进一步查看目标的端口的服务和版本 nmap -sV -sT -O -p22,80 192.168.21.140 扫描端口的漏洞…