ptrace 函数 : 在 C 标准库 中有一个 ptrace 函数 , 该函数是一个系统调用方法 , 可以监视进程执行 , 查看 / 更改 被监视进程的 内存 和 寄存器 情况 , 常用于断点调试 ;
本篇文章着眼于 Linux 页面大小对数据库性能的影响,以及如何优化数据库 Kubernetes 节点。
Section 是 Linux ELF 程序格式的一种核心数据表达方式,用来存放一个一个的代码块、数据块(包括控制信息块),这样一种模块化的设计为程序开发提供了很大的灵活性。
Git作为一个版本控制工具的后起之秀,目前已经呈现替代SVN的趋势,如果你现在还在使用SVN等版本控制工具,那说明你已经OUT了!Git 是Linux内核的发明人 大名鼎鼎的Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开源码版本控制工具。
某日开发说,一台测试用虚机可以PING通SSH不能连了。运维同学就赶紧去查,SSHD_CONFIG配置文件都正确啊,一点错误都没有,那为什么呢?
实际项目中写的应用层代码为了保证可靠性,需要编写一定的测试用例,进行单元测试。 这里以GoogleTest为例 ,在嵌入式平台上(Amlogic A113x 平台)实现应用层代码的测试。
Android系统架构师安卓系统的体系机构,Android的系统架构和其他操作系统一样,采用了分层的架构,共分为4层,从高到低分别是Android应用层,Android应用架构层,Android系统运行层和Linux内核层。
这也是Open Source的一个特点,Windows中其他闭源软件是不会提供这种源码编译安装的安装方式的
Linux下动态库文件的文件名形如 libxxx.so,其中so是 Shared Object 的缩写,即可以共享的目标文件。
在 Web 开发领域,Java 凭借企业级支持以及世界丰富的生态环境成为绝对霸主,PHP 紧随其后。有些公司考虑效率问题而采用 C++ 做后台开发语言, 也有人使用 Node.js 开发后台。
在使用动态库开发部署时,遇到最多的问题可能就是 undefined symbol 了,导致这个出现这个问题的原因有多种多样,快速找到原因,采用对应的方法解决是本文写作的目的。
前有 C 语言当道,后有 Rust “杀入”,时下又有一场关于 C++ 才应该成为 Linux 内核语言的争论被旧事重提了。
引言 尽管 C 语言问世已近 30 年,但它的魅力仍未减退。C 语言继续吸引着众多的开发者,他们为了编写、移植或维护应用程序而必须学习新技能。 本文是为了满足对C语言初学者或想提高自身C语言修为的开发人员的需要而写的。希望对您的学习和工作有所帮助。您也许不赞同其中的某些方法,但我们希望您会喜欢其中的一些。 本文不介绍作为一个程序员应掌握得语言细节,而是与初学者分享自己的UNIX 下C语言编程学习经验;也不说明一个合格的编程人员应该掌握的计算机知识,比如:操作系统、数据结构与算法、数据库等等。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。由于windows和linux的本质不同,因此二者库的二进制是不兼容的。
这次主要记录在windows下嵌入python解释器的过程,程序没有多少,主要是头文件与库文件的提取。
首发平台:微信公众号baiwenkeji 很多人在做触摸屏驱动实验,移植tslib库时,可能会出现错误提示“selected device is not a touchscreen I understand”
在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查 无误后,gcc 把代码翻译成汇编语言。
入口函数和运行库 入口函数 初学者可能一直以来都认为C程序的第一条指令就是从我们的main函数开始的,实际上并不是这样,在main开始前和结束后,系统其实帮我们做了很多准备工作和扫尾工作,下面这个例子可以证明: 我们有两个C代码: // entry.c #include <stdio.h> __attribute((constructor)) void before_main() { printf("%s\n",__FUNCTION__); } int main() { printf("%s\n
BPF 是近年来Linux 系统技术领域一个巨大的创新。作为 Linux 内核的一个关键发展节点,其重要程度不亚于虚拟化、容器、SDN 等技术。
2. 软链接文件soft_file.link有自己独立的inode,可以被当作独立文件看待。 而硬链接文件没有自己独立的inode,无论改变myfile.txt什么内容,hard_file.link都会随着一起改变,所以建立硬链接,实际上根本没有创建新文件,因为没有给硬链接分配独立的inode。
每当你打开的Linux虚拟主机的时候,通常是为了完成工作。但是,一台普通的Linux主机上,有成千上万的开发者开发的软件,你能保证他们都是这么正经的?今天咱们就一起来看看那些不太正经的linux命令吧。
gcc工具链是一个复杂而又巧妙的工程,随着riscv上层软件的逐渐完善,工具链和底层系统软件的开发也显得尤为重要。深入理解gcc的原理,能够更好的对计算机体系结构有一个完整的了解。
Python 最常用格式就是 .py (另一较常用格式为 .pyw),由 python.exe 解释,可在控制台下运行。
说明:登陆后,通过界面的来设置自动获取ip,特点:linux启动后会自动获取P,缺点是每次自动获取的ip地址可能不一样。
学习安卓的架构,是从操作系统的角度理解安卓。安卓使用Linux内核,但安卓的架构又与常见的Linux系统有很大的区别。我们先来回顾一下传统的Linux架构,再来看安卓的变化。 Linux系统架构 先来
如果将内核比作一座工厂,那么Linux中众多的接口就是通往这个巨大工厂的高速公路。这条路要足够坚固,禁得起各种破坏(Robust)。要能跑得了运货的卡车,还要能升降飞机。(Compatible)。当然了这条路要越宽越好(Performant)。如下图所标,Linux中有四种类型的接口。位于内核和用户之间的API(应用程序接口)和ABI(应用二进制接口)。内核内部的API和ABI。下面我们逐条的来看看这些接口。
C语言大家都比较熟悉了,是属于底层编程语言了,计算机行业里有句话说“C生万物”!不得不说,C语言的出现,改变了计算机的编程语言世界。
对于Linux初学者,常常有很多命令和函数的用法不清楚,现在网络发达了,什么命令和函数都可以Google和百度。其实不用网络,在Linux下就有这些使用秘籍,要怎么找到他们呢?去问Linux的man(“男人”)吧,如果某些函数不能用man手册查到,则说明没有安装完整,对于Ubuntu来说,可以用下面的命令来完整安装: sudo apt-get install manpages-de manpages-de-dev manpages-dev glibc-doc manpages-posix-dev man
在Linux中,可执行文件的格式是ELF格式,而有一些命令可以帮助我们了解它们更多的“秘密”,以此来帮助我们解决问题。
2.一个不错的中文Linux手册:http://cpp.ezbty.org/manpage
-c create的意思 -r replace的意思,表示当插入的模块名已经在库中存在,则替换同名的模块。如果若干模块中有一个模块在库中不存在,ar显示一个错误消息,并不替换其他同名模块。默认的情况下,新的成员增加在库的结尾处,可以使用其他任选项来改变增加的位置。
多线程编程已经成为了现代软件开发的重要组成部分。对于Linux操作系统而言,多线程的支持和实现更是被广泛应用。本文将通过详细解析Linux操作系统中的多线程概念、线程的创建与管理、同步与互斥、线程间通信等方面,并结合示例代码,来深入探讨Linux的多线程编程。
在Ubuntu下安装好mesa所需的库文件,将目标文件从github上克隆下来之后编译。
hello,大家好,今天我们继续学习Linux中的动静态库,我们将从不同的角度来学习如何使用,并如何制作一个可供他人使用的动静态库文件,并试着探究一下动态库加载问题。那我们就开始学习吧!!
RTMP 协议 : RTMP 协议是基于 TCP 协议的实时消息传输协议 ( Real Time Messaging Protocol ) ;
最近在测试u8g2库,准备是在单片机上使用的,不过目前我看到其也是支持了linux设备的,所以想着是不是能在T507上跑下。搜了下已经是有人做了移植了。官方现在应该也是支持了的,我选择别人开源的,因为介绍的还比较详细。开源地址如下。
这两天在做MySQL5.7~MySQL8.0的版本升级,收集整理了MySQL8.0的几个比较便利的地方,分享出来,大家可以参考一下。
众所周知,Linux 是 C 语言的代言人。但是,时代变了,Rust 正在兴起并赢得越来越多人的支持,它开始逐渐扮演 Linux 系统语言的角色。 在 2020 年 Linux Plumbers 峰会上,开发人员认真考虑过将 Rust 语言用于 Linux 内联代码的想法。此外,已经有很多 Linux 中的 Rust 内容被推向市场。比如,AWS 在 2020 年发布了 Bottlerocket,这是一种专为运行容器而打造的基于 Linux 的开源操作系统,其中包含大量的 Rust 代码。 另一个例子则与
Python 在许多领域都是首选语言,包括编程入门、机器学习、数据科学以及数据工程等。在这篇文章中,我想聊下 Python 最大的优势和不足,以不足为主,因为这些问题已经存在了许多年,而且其中有些导致了很多问题。这篇文章对 Python 的评价看起来非常负面。但我仍然喜欢并每天使用 Python,并希望它能有所改进并不断变好。
linux软件安装 在windows安装软件是极其简单的事,无非就是下载,然后一路点击“下一步”即可。而在linux装软件就没那么简单了,尤其是对于新手而言,往往会手足无措,觉得linux很不好用。可一旦习惯了,就会惊叹于linux的强大,安装软件可以简单地用一句命令行解决从下载到安装的整个流程,比windows下的一键安装还要轻爽。也可以自己到官网下载源码,自己编译,甚至修改源码,真正自定义安装软件。 本系列文章主要讲解通过源码安装软件的原理以及方法。 我们知道,不管是windows,还是linux,最终
大家好,今天我们来分享linux内核的工程建立以及一些我在工作当中使用source insight 经常会用的一些快捷操作;然后会分享一些有用的汇编指令,主要是经常会遇到的汇编指令,汇编指令没必要去专门学,当你在看启动汇编代码的时候,只要稍微看的懂它的意思就行,因为在上班中,你很少去写汇编,我们只是用它分析,体会一下linux内核是如何启动的。不过这其中可能很多人,对虚拟内存和页表等知识不是很清楚,没关系,这个不影响我们学习,这个我后面在文章中写到的。好了,那就开始今天的分享。
中国大多数程序员的职业生涯是从C语言开始的,我们大多数人接触编程是从大学开始的,C语言几乎是中国大学计算机专业的标准语言。但是我们在大学除了学习C语言外,其它语言如C/C++/java基本都学一边。小编不得不说这就是中国大学的特色啊。我们学了那么多也只是学了这些语言的皮毛,到我们找工作时才发现我们在大学学的基本都用不上,甚至还不如花钱去培训机构培训几个月来的快。小编在这里就告诉大家,无论你是自学编程还是在学校学习编程对于一门语言要持之以恒的学习下去才会有收获。既然我们大多人都是从C语言基础开始的,在这里小编
在安装一些服务的时候,会涉及到字符编码与字体的问题,字符编码一般在数据库或代码级别设置,字体一般是在系统级别设置。如安装使用jira或confluence的时候,使用一些宏的时候经常会出现乱码的问题,还有就是程序中有中文的时候,在linux系统上总会乱码。
文章目录 1. Linux 网络配置原理图 1.1 画出原理图,帮助理解 2. 查看网络 IP 和网关 2.1 查看虚拟网络编辑器和修改 IP 地 2.2 查看网关 2.3 查看 windows 环境的中 VMnet8 网络配置 ( ipconfif 指令) 2.4 查看 linux 的网络配置 ifconfig 3. ping 测试主机之间网络连通性 3.1 基本语法 3.2 应用实例 4. linux 网络环境配置 4.1 第一种方法(自动获取): 4.2 第二种方法(指定 ip) 5. 设置主
gcc (GNU Compiler Collection) 和 g++ 是 Linux 系统上最常用的编译器。它们是 GNU 组织开发的一套开源编译器工具集。
🎬 鸽芷咕:个人主页 🔥 个人专栏:《C语言初阶篇》 《C语言进阶篇》
为了方便记忆。可以给linux系统主机名,也可以根据需要修改主机名 指令hostname来查看主机名 修改主机名 vim /etc/hostname 进入之后修改就行
一般我们在c语言要实现对字符串操作的话,一般是采用字符数组或者一组函数来实现的,为啥这样做呢,那是因为c语言里面根本就没有字符串类型的关键字;而且c语言也支持自定义类型,所以更加无法获得字符串类型
Eclipse IDE的最新版本现在很容易在Ubuntu 16.04和Ubuntu 18.04中安装,因为它被制作为snap包。
领取专属 10元无门槛券
手把手带您无忧上云