草庐IT

arm_const_structs

全部标签

c - 使用 ARM 内联汇编在没有 libc 的情况下进行系统调用

这个问题在这里已经有了答案:Can_startbethethumbfunction?(3个答案)关闭8年前。我想在不使用libc的情况下编写一个小型独立可执行文件。模拟一些libc函数我需要的是具有使用内联汇编进行系统调用的函数:intsyscall(inta,...){return__asm__volatile(/*DOSTHHERE*/);}我正在使用Linux和ARM处理器。编辑:找到解决方案:intsyscall(intn,...){return__asm__volatile("movr7,r0\nmovr0,r1\nmovr1,r2\nmovr2,r3\nswi#1\n");

c - 使用 ARM 内联汇编在没有 libc 的情况下进行系统调用

这个问题在这里已经有了答案:Can_startbethethumbfunction?(3个答案)关闭8年前。我想在不使用libc的情况下编写一个小型独立可执行文件。模拟一些libc函数我需要的是具有使用内联汇编进行系统调用的函数:intsyscall(inta,...){return__asm__volatile(/*DOSTHHERE*/);}我正在使用Linux和ARM处理器。编辑:找到解决方案:intsyscall(intn,...){return__asm__volatile("movr7,r0\nmovr0,r1\nmovr1,r2\nmovr2,r3\nswi#1\n");

linux - 为什么 mm_struct->start_stack 和 vm_area_struct->start 不指向同一个地址?

据我了解Linux内核中的内存管理,每个进程中都有一个负责地址空间的mm_struct结构。一个重要的内存区域是堆栈。这应该由vm_area_struct内存区域标识,mm_struct本身有一个指针mm_struct->stack_start,它是堆栈的地址。我看到了下面的代码,我无法理解为什么任何内存区域的起始/结束地址都不等于mm_struct->stack_start值。非常感谢任何有助于理解这一点的帮助。谢谢加载编译内核模块的部分结果:Vmanumber14:Startsat0x7fff4bb68000,Endsat0x7fff4bb8a000Vmanumber15:Star

linux - 为什么 mm_struct->start_stack 和 vm_area_struct->start 不指向同一个地址?

据我了解Linux内核中的内存管理,每个进程中都有一个负责地址空间的mm_struct结构。一个重要的内存区域是堆栈。这应该由vm_area_struct内存区域标识,mm_struct本身有一个指针mm_struct->stack_start,它是堆栈的地址。我看到了下面的代码,我无法理解为什么任何内存区域的起始/结束地址都不等于mm_struct->stack_start值。非常感谢任何有助于理解这一点的帮助。谢谢加载编译内核模块的部分结果:Vmanumber14:Startsat0x7fff4bb68000,Endsat0x7fff4bb8a000Vmanumber15:Star

java - 是否有适用于 ARM Linux 的 java sqlite3 库?

我需要在ARMLinux上用Java创建和管理一个sqlite3数据库。我更喜欢一个可以在ARMLinux和x86Windows(32位或64位,用于开发和测试)上无缝使用并且支持SQL查询的库。我知道有sqlitejdbc和sqlite-jdbc但他们的发行版似乎不支持ARMLinux。还有sqljet这是一个纯Java(没有native代码),但它使用专用API而不是SQL。本质上,我正在寻找等同于sqlite3python模块的东西。存在吗? 最佳答案 我刚刚看了一下sqlite4java,它似乎符合要求:SQL和纯Java。

java - 是否有适用于 ARM Linux 的 java sqlite3 库?

我需要在ARMLinux上用Java创建和管理一个sqlite3数据库。我更喜欢一个可以在ARMLinux和x86Windows(32位或64位,用于开发和测试)上无缝使用并且支持SQL查询的库。我知道有sqlitejdbc和sqlite-jdbc但他们的发行版似乎不支持ARMLinux。还有sqljet这是一个纯Java(没有native代码),但它使用专用API而不是SQL。本质上,我正在寻找等同于sqlite3python模块的东西。存在吗? 最佳答案 我刚刚看了一下sqlite4java,它似乎符合要求:SQL和纯Java。

android - ubuntu:所有 android 模拟器(x86 和 arm)卡在 "Error while connecting to socket ' 127.0.0.1:197 0': 111 -> Connection refused"

我已经尝试了所有的android模拟器,但他们都卡在了以下步骤:emulator:Errorwhileconnectingtosocket'127.0.0.1:1970':111->Connectionrefusedemulator:ASC127.0.0.1:1970:Retryingconnection.ConnectorFD=这是我的cli:path/to/emulator64-x86-avdx86-debugall这是myfulllog我的问题是如何修复这个错误?我的系统信息:NoLSBmodulesareavailable.DistributorID:LinuxMintDesc

android - ubuntu:所有 android 模拟器(x86 和 arm)卡在 "Error while connecting to socket ' 127.0.0.1:197 0': 111 -> Connection refused"

我已经尝试了所有的android模拟器,但他们都卡在了以下步骤:emulator:Errorwhileconnectingtosocket'127.0.0.1:1970':111->Connectionrefusedemulator:ASC127.0.0.1:1970:Retryingconnection.ConnectorFD=这是我的cli:path/to/emulator64-x86-avdx86-debugall这是myfulllog我的问题是如何修复这个错误?我的系统信息:NoLSBmodulesareavailable.DistributorID:LinuxMintDesc

ubuntu环境下gcc-arm交叉编译环境的搭建(ARM32 8.2)

1.在arm官网下载gcc-arm8.2的版本(下载arm32架构的x64上运行的版本),网址如下https://developer.arm.com/downloads/-/gnu-a图1从ARM官方下载aarch32架构的交叉编译器 2.拷贝下载的交叉编译器到ubuntu系统的/opt/pkg/gcc_linaro目录,如下图所示:图2拷贝arm交叉编译器到gcc安装目录 3.解压gcc到工作目录图3解压arm-gcc到工作目录 图4解压后的gcc 4.运行动态配置环境变量,再查看gcc的版本,如下所示,说明gcc安装成功。exportPATH=/opt/pkg/gcc_linaro/gcc

c - 使用 -std=c99 编译时,struct ip_mreq 消失

在我们的一些使用gcc-std=c99编译的linux机器上使structip_mreq消失(包含在netinet/in.h中)我们应该使用其他接口(interface)吗? 最佳答案 试试--std=gnu99。GCC的默认值是“--std=gnu89”,这意味着带有GNU扩展的C89。通过选择“--std=c99”,您将启用C99,但禁用GNU扩展。'--std=gnu99'将选择C99和GNU扩展支持,让您两全其美。 关于c-使用-std=c99编译时,structip_mreq消