草庐IT

ld-linux

全部标签

Linux底层基础知识

一.汇编,C语言,C++,JAVA之间的关系汇编,C语言,C++可以通过不同的编译器,编译成机器码。而java只能由Java虚拟机识别。Java虚拟机可以看成一个操作系统,Java虚拟机是由汇编,C,Linux等编写而成的一个操作系统(面向os)不同的芯片,底层的CISC指令集不同,所以其机器码有区别,因此汇编不能跨平台。特定的CPU下只能执行特定的机器码。Java生成字节码,只有Java虚拟机识别,Java虚拟机跨平台,因此Java跨平台。二.CPU架构,指令集,汇编,硬编码之间的关系​CPU架构​1.CISC(复杂指令集)Intel芯片2.RISC(精简指令集)1.ARM芯片MacM1、M

linux下进行MCU开发环境搭建

why为什么要搭建此开发环境?在linux环境下开发可以利用shell命令实现对文件的批处理伟大的程序员应该都用类unix系统!可以实现对底层编译技术的了解,以便于更好的掌握嵌入式技术通用性,采用开源工具,从底层开发项目,可以不受制于特定厂商的ide工具.可以实现通用架构!what开发环境长啥样?在linux下进行嵌入式技术开发的意思是采用通用,开源的编译工具,实现对项目的开发.主要用的工具链为:编程平台为ubuntu22.04(VSCODE)编译工具arm-none-eabi-gcc/cl2000(TIC2000的编译器)调试工具openocd以及rm-none-eabi-gdb(尚不支持T

Linux环境下非GUI制作图形界面方法

Linux环境下非GUI制作图形界面方法如题,即就是仅仅使用ANSI转义字符实现Linux环境的页面效果,如字体颜色、背景颜色、高亮、固定位置光标、将光标放到指定位置、隐藏字符串等等。具体实现方法在如下代码中,使用方法在注释里可以看到。//#ifndef__PRINT_H__#define__PRINT_H__#include/***Readme:ThisHeaderfileisusedforsetspecialdisplaycharactersofscreensuchas*backgroundcolorandFontcoloretc.*//*颜色代码:QUOTE:字背景颜色范围:40--49

c++ - 我如何查看 Linux .so 或 .a 对象并查看它们包含哪些函数?

链接器大概可以做到这一点,那么是否有一个命令行工具可以列出目标文件中的函数并告诉我函数的名称及其签名? 最佳答案 对于共享库,您必须使用:nm-D/path/to/libwhatever.so.没有-D,nm转储debug符号;-D指的是实际用于动态链接的动态符号。来自Ubuntu12session:$nm/lib/i386-linux-gnu/libc.so.6nm:/lib/i386-linux-gnu/libc.so.6:nosymbols$nm-D/lib/i386-linux-gnu/libc.so.6|tail0011f

c++ - 未定义的 vtable 引用,Linux 中的 Qt

我试图在Ubuntu10.04中的Code::Blocks下编译Qt和OpenGL程序。我得到“对GLWidget的vtable的undefinedreference”#ifndef_GLWIDGET_H#define_GLWIDGET_H#include#include"stdlib.h"classGLWidget:publicQGLWidget{Q_OBJECT//mustincludethisifyouuseQtsignals/slotspublic:GLWidget(QWidget*parent=0);~GLWidget();protected:voidinitializeGL

Linux编译器--git、yum、gdb的使用

git、yum、gdb的使用一、git1.1git的发展史1.2安装git1.3使用gitee创建项目1.4下载项目到本地1.5git的三板斧1.5.1第一招:gitadd1.5.2第二招:gitcommit1.5.3第三招:gitpush1.5.4同步删除文件怎么办1.5.5远端的代码改了(没删除)怎么办1.5.6查看提交日志1.5.7远端删除了文件本地没有删除怎么办二、yum2.1Linux下安装软件的方式2.2认识yum2.3查看软件包2.4安装软件2.5如何实现本地机器和云服务器之间的文件互传2.6卸载软件三、gdb3.1gdb使用须知3.2gdb命令汇总一、git1.1git的发展史

Linux升级openssh的解决方案

  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。  本文主要介绍了Linux升级openssh解决方案,希望能对使用Linux的同学们有所帮助。文章目录1.问题描述2.解决方案1.问题描述  今天在安装软件时,需要其依赖高版本的openssh,而现有版本的openssh版本比较低,所以需要升级至更高版

c++ - 关于使用 ifstream 读取文件,为什么我的程序在 Windows 和 Linux 上产生不同的结果?

我有一个程序如下所示。对于它我有几个问题:1).为什么在不同的平台上会产生不同的结果?我稍后会贴上屏幕截图。2).我正在使用fail()方法来检查“file.read()”是否失败。这是正确的吗?我使用fail()方法是因为thiswebpage是这样说的:Thefunctionreturnstrueifeitherthefailbitorthebadbitisset.AtleastoneoftheseflagsissetwhensomeerrorotherthanreachingtheEnd-Of-Fileoccursduringaninputoperation.但后来我阅读了有关i

一行命令找出 Linux 中所有真实用户

哈喽大家好,我是咸鱼。接触过Linux的小伙伴们都知道在Linux(或者说类Unix)中,有三种类型的用户:超级用户(UID为0):即root用户,拥有最高权限。系统用户(UID为1~999):系统内建用户,用于运行系统服务和守护进程。普通用户(UID为1000~60000):为了让使用者能够使用Linux系统资源而建立的,用户新建的账号一般就是普通账号。那么现在问题来了,如何快速找出Linux中的真实用户(root用户和普通用户)?正式开始之前,我们先介绍一个工具——getent。getent命令getent其实是  "getentries"  的缩写,功能是用于查看系统数据库中(包括 /e

【Linux】测试ip:port端口是否连通即可达性测试

【Linux】测试ip:port端口是否连通即可达性测试0、背景1、telnet可达性测试2、curl可达性测试3、wget可达性测试0、背景在视觉项目开发调试的过程中经常需要判定IPC是否可达,在做服务的时候也需要判定服务器是否可达。本博客介绍3种常用的工具(telnet、curl、wget)进行可达性测试。1、telnet可达性测试telnetipport例如:telnet127.0.0.18080如果telnet连接ipport存在,则会出现如下示例:root@s3d-wandev:/home/mysql/mysql_data#telnet127.0.0.18888Trying127.0