Linux
linux 统计代码行数
一、wc命令
wc(word count)命令是用来计算字数的,但它也可以用来计算行数。要统计一个文件的行数,可以使用以下命令:
wc -l filename
如果你想统计一个目录下所有.c文件的行
2024-12-22 20:40:05
阅读数: 188
评论数: 0
Linux
cmake 预定义变量
一、概述
cmake是一个跨平台的编译自动配置工具,它并不直接构建最终的软件,它只是通过读取CMakeLists.txt配置文件,然后按配置输出定义式的Makefile或project文件。
二、变量
2024-12-22 20:39:49
阅读数: 216
评论数: 0
一、概述
在Linux环境下,pthread_rwlock_t 是一个用于实现读写锁的数据类型,它属于POSIX线程(pthreads)库。读写锁允许多个线程同时读取共享数据,但是如果一个线程想要写入
2024-12-22 20:39:32
阅读数: 218
评论数: 0
Linux
Linux信号量sem_t
一、概述
在Linux系统中,sem_t 是 POSIX 信号量的数据类型,定义在 <semaphore.h> 头文件中。POSIX 信号量用于进程或线程间的同步,它可以用来保护共享资源或者在进程/线
2024-12-22 20:38:52
阅读数: 342
评论数: 0
Linux
Linux chmod命令
一、概述
在Linux系统中,chmod 是一个用于更改文件或目录权限的命令。chmod 的名称来源于 "change mode" 的缩写。文件和目录的权限决定了谁可以读取、写入或执行该文件。
文件和
2024-12-22 20:38:10
阅读数: 148
评论数: 0
C/C++
CMakeLists.txt语法
1、指定cmake的最小版本
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
这行命令是可选的,也可以不写这句话,但如果CMakeLists.txt文件中使用了一些高版本cma
2024-12-22 20:37:49
阅读数: 191
评论数: 0
C/C++
数组指针 指针数组 函数指针 函数指针数组
数组指针
是一个指向数组的一个指针.
int (*p)[4]; char (*p)[4];
()操作符和[]优先级相等, 从左向右进行运算, 因此p先和()里的*结合, 所以断定这是指针, 然后再和[
2024-12-22 20:37:18
阅读数: 215
评论数: 0
C/C++
C typedef
C语言允许用户使用typedef关键字来定义自己习惯的数据类型名称。
typedef的4种用法
1、为基本数据类型定义新的类型名
系统默认的所有基本类型都可以利用typedef关键字来重新定义类型名,
2024-12-22 20:37:03
阅读数: 214
评论数: 0
C/C++
c extern关键字
修饰变量的声明
例如:
若a.c中需要用b.c中的变量 int v,可以在a.c中声明extern int v,然后就可以引用变量v。能够被其他模块extern引用到的变量通常是全局变量。
还有一点是
2024-12-22 20:36:37
阅读数: 267
评论数: 0
第1章 认识对象
1.面向对象分析(object-oriented analysis,OOA)的主要任务是分析问题域中的对象、对象之间的关系,然后构造出该问题域的分析模型。分析模型必须简洁、明确地抽象
2024-12-22 20:36:13
阅读数: 293
评论数: 0
C/C++
《c++程序设计--谭浩强》读书笔记
第一章 C++初步认识
C++对C的“增强”,表现在两个方面:
(1)在原来面向过程的机制基础上,对C语言的功能做了不少扩展
(2)增加了面向对象的机制
面向对象和面向过程不是矛盾的,而是各有用途
2024-12-22 20:34:52
阅读数: 294
评论数: 0
C/C++
《C++ 标准程序库--侯捷》学习笔记
C++标准每5年会有一个新版本,1998年的C++98、2003年的C++03、2007年的C++TR1、2011年的C++11.
转换操作符
static_cast
将一个值以符合逻辑的方式转型。这
2024-12-22 20:31:10
阅读数: 339
评论数: 0
组织和策略问题
第0条 不要拘泥于小节(了解哪此东本西不应该标准化)
编程规范不应施加个人喜好或者过时的做法。
第1条 在高警告级别干净利落地进行编译
高度重视警告:使用编译器的最高警告级别。应该要求
2024-12-22 20:25:46
阅读数: 327
评论数: 0
C/C++
C/C++ 版本更迭
1、C++版本更迭
年份
C++标准
通用名
别名
标准编译选项
GNU扩展选项
1978
C with Classes
-
-
-
-
1998
ISO/IEC 14882:199
2024-12-22 20:16:54
阅读数: 204
评论数: 0
C/C++
C++标准库
1、转换操作
(1)static_cast
将一个值以符合逻辑的方式转型。这个可以看作是“利用原值重建一个临时对象,并在设立初值时使用型别转换”。唯有当上述型别转换有所定义时,整个转换才会成功。
如:
2024-12-22 20:16:25
阅读数: 210
评论数: 0
架构学
UML关联、组合、聚合
1、关联
关联是一种最普遍和常见的关系形式。一般是指一个对象可以发消息给另外一个对象。典型的实现情况下指某个对象有一个指针或者引用指向一个实体变量,当通过方法的参数来传递或者创建本地变量来访问这种情况
2024-12-22 20:12:16
阅读数: 151
评论数: 0
Linux
Linux内核中的预取算法
1、存储设备的IO特性
(1)硬盘驱动器(HDD)
硬盘驱动器(HDD,Hard Disk Drive),简称硬盘或磁盘,是存储数字信息的首要介质。硬盘驱动器的主要部件是控制电路、缓存、伺服电机、
2024-12-22 20:11:57
阅读数: 97
评论数: 0
Linux
Linux 限制root用户远程登录-ssh
1、执行备份:
#cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
2、新建一个普通用户并设置高强度密码(防止设备上只存在root用户可用时,无法
2024-12-22 20:11:15
阅读数: 150
评论数: 0
hacker
web安全 点击劫持 ClickJacking
1、描述
点击劫持是一种视觉上的欺骗手段,攻击者使用一个透明的、不可见的iframe,覆盖在一个网页上,然后诱使用户在该网而上进行操作,此时用户将在不知情的情况下点击透明的iframe页面。通过调整i
2024-12-22 20:10:20
阅读数: 91
评论数: 0
hacker
针对设备转发表的攻击
为了合理有限的转发数据,网络设备上一般都建立一些寄存器表项,比如MAC地址表,ARP表,路由表,快速转发表,以及一些基于更多报文头字段的表格,比如多层交换表,流项目表等。这些表结构都存储在设备本地的内
2024-12-22 20:09:52
阅读数: 97
评论数: 0