low-level相关内容

为什么编译这个简单的汇编代码并链接到ELF会导致比平面二进制文件大得多的大小?

我正在使用类似嵌入式OS的环境,因此二进制文件的大小需要尽可能小.我一直在使用简单的平面二进制文件作为可执行文件,但是现在我正在尝试使用ELF.我只是在使用汇编代码,而是与ld链接.汇编代码: CPU i386 BITS 32 SECTION .text progbits alloc exec nowrite GLOBAL start start: mov eax, 0 add eax ..
发布时间:2020-05-01 03:46:12 其他开发

在受控环境(Win32)下运行应用程序的问题

我不确定如何标记此问题或如何写标题,因此,如果有人有更好的主意,请对其进行编辑 这是交易: 前段时间,我写了一个计算机奥林匹克管理系统的关键部分.系统的工作是从参与者(代码文件)中获取提交,进行编译,针对预定义的测试用例运行它们,然后返回结果.加上您可以想象的所有其他内容. 我写的那一部分叫做 Limiter .这是一个小程序,其工作是采用另一个程序并在受控环境中运行它.在这种情 ..
发布时间:2020-04-30 11:35:31 其他开发

为什么矢量化通常比循环要快?

为什么在最低级别的硬件上执行操作以及所涉及的基本操作(即,运行代码时所有编程语言的实际实现所通用的东西),矢量化通常比循环速度快得多? 计算机在循环时会执行什么操作,而在使用矢量化时它不会执行操作(我说的是计算机执行的实际计算,而不是程序员编写的内容),或者计算机有什么不同之处? 我一直无法说服自己,为什么差异如此之大.我也许可以说服矢量化代码减少了某些地方的循环开销,但是计算机仍然必 ..

使用低级键盘挂钩更改键盘字符

我正在创建自定义键盘布局.首先,我想让用户按下一个键,让我的键盘挂钩拦截它,然后输出一个我选择的键. 我找到了这个键盘挂钩代码,出于我的目的,我尝试对其进行一些修改: http://blogs.msdn.com/toub/archive/2006/05/03/589423.aspx 我已将相关方法更改为此: private static IntPtr HookCallback(i ..
发布时间:2020-04-26 08:06:32 C#/.NET

Windows的低级键盘输入

哪些win32调用可用于从Windows服务中全局检测按键事件(不只是针对1个窗口,我希望每次按键时都会收到一条消息)? 解决方案 您要使用Win32 Hooks.特别是键盘钩. 您可以阅读更多关于这里 所需的钩子类型为WH_KEYBOARD,您可以通过Win32 API SetWindowsHookEx对其进行设置. 基本上,每次在任何应用程序系统范围内按下键时,Win ..
发布时间:2020-04-26 08:03:49 其他开发

什么是“内部地址”。在Java?

在 Object.hashCode()它声明 尽可能合理,但是由类 Object 确实为不同的对象返回不同的整数。 (这通常通过将对象的内部地址转换为整数来实现,但Java™编程语言不需要此实现技术。) 这是一个常见的miconception,它与内存地址有关,但它没有,因为它可以在没有通知的情况下改变,而hashCode()不会,也不能为对象更改。 @Neet提供了一个很好的答 ..
发布时间:2018-11-27 12:12:31 Java开发

如何在iOS中查找文本段范围

如何在iOS中找到文本片段(AKA代码段)范围?意思是,文本段的起始地址和结束地址是什么? 我发现这个有趣的帖子但它适用于Android但不适用于iOS。 解决方案 经过一些挖掘和专家帮助(感谢Moshe Kravchik),我得到了理想的解决方案 - 通过解析mach头并检索加载命令,段和部分来获取文本段范围。 #include #i ..
发布时间:2018-09-18 09:28:33 移动开发

GCC中是否有固定大小的整数?

在MSVC ++编译器上,可以使用 __ int8 , __ int16 , __ int32 和具有特定大小的整数的类似类型。这对于需要处理低级数据结构(如自定义文件格式,硬件控制数据结构等)的应用程序非常有用。 是否有类似的等效I可以在GCC编译器上使用吗? 解决方案 ISO标准C从C99标准开始,添加标准头 定义了这些: uint8_t - 无符号 ..
发布时间:2018-04-20 16:25:07 其他开发

函数如何被粘贴?

我理解柯里化的概念是什么,并且知道如何使用它。这些不是我的问题,而是我很好奇它是如何在比Haskell代码更低的层次上实现的。 例如,当(+)2 4 是curried,是一个指向 2 的指针,直到 4 传入?甘道夫是否弯曲时空?这是什么魔术? 解决方案 简短回答:是指针维持到 2 ,直到将 4 传入。 长于必要的答案: 从概念上讲,你应该考虑用lambda演算和术语重写来定义H ..

是否值得实现一个EEPROM的小文件系统

我买了一个I2C EEPROM。我想存储传感器和电压数据。我假设这个值可以大于一个字节,并且可以有大量的数据。实现一个小文件分配表的文件系统是否值得这样做?这样可以让我更容易查看EEPROM的情况。 解决方案 如果要求具有不同文件的灵活性。如 用于数据记录或配置。它允许多个这样的配置/日志文件在将来独立并且容易地被添加。这对未来的项目来说可能是非常成功的基石。 便于其他设备或库的访 ..
发布时间:2017-11-06 21:45:12 其他开发

在Raspberry Pi上运行无操作系统的C程序

我想尝试使用Raspberry Pi进行一些不同的低级嵌入式应用程序。唯一的问题是,与可用的AVR和PIC微控制器板不同,Raspberry Pi通常运行一个操作系统(如Raspbian),可以在所有运行的程序中分配CPU时间,并使某些实时应用程序变得不切实际。 我最近了解到,假设你有一个像GRUB一样的引导加载程序,在x86上运行一个C程序几乎没有实际的设置,只是一个程序集程序来调用主函数 ..
发布时间:2017-08-15 19:47:38 HTML/CSS

(非关系)DBMS设计资源

作为一个个人项目,我正在寻找一个基本的DBMS。我已经阅读了Elmasri& Navathe(5ed),但可以使用更加集中的文本 - 一些更实用和细节导向,与现实世界的建议 - 因为E& N只有这么深。 揉搓是我想玩新的非关系数据模型。虽然很多E& N特别是大量的实现细节索引 - 更高级的DBMS实现只针对一个关系模型。 我想延迟盯着DBMS源一段时间,如果我可以,直到我有一个更好的基 ..

缓存一致性的要点是什么?

在像x86这样的提供缓存一致性的CPU上,从实际的角度来看,这有什么用?我理解这个想法是使内存更新在一个核上立即在所有其他内核上可见。这是一个有用的属性。然而,如果不使用汇编语言编写,则不能太依赖它,因为编译器可以将变量分配存储在寄存器中,而不会将其写入存储器。这意味着,还必须采取明确的步骤,以确保在其他线程中完成的东西在当前线程中可见。因此,从实际角度来看,缓存一致性是如何实现的? 解决方 ..
发布时间:2016-12-26 18:20:27 其他开发

编译器编程:什么是最基本的成分?

我有兴趣写一个非常简约的编译器。 我想写一个小软件(在C / C ++中),符合以下标准: / p> 以ELF格式输出(* nix) 输入是单个文本文件 C样语法和语法 无链接器 无预处理器小(最大1-2 KLOC) 语言特性: 原生数据类型:char,int和float 数组(适用于所有原生数据类型) > 控制结构(if-else) 功能 $ b 简单代 ..
发布时间:2016-12-22 21:18:38 C/C++开发

什么是功能/闭包/ Lambdas,从数据结构的角度?

有一天我讨论了一些关于编程语言的细节细节,一个主题是从数据结构的角度来看实际上是一个函数(或闭包/ lambda /等) 。要清楚,我不是问什么函数做什么或如何使用它们,而是它们如何在代码“幕后”表示。 当函数是“被调用”,代码执行时发生了什么?是一个函数是使用标识符传递的某种结构或对象吗?一个函数是否甚至由数据结构表示?它在语言之间是否有显着差异,或者是在编译/解释代码中通常用相同的方式表 ..
发布时间:2016-11-30 00:00:42 其他开发

iPhone iOS4低级摄像头控制?

有没有办法手动设置低级静态相机设置,如快门速度,光圈或ISO4在iPhone4上的iOS4?我不认为它存在于官方的SDK,但也许有人找到一些私人API,允许这个? 我发现我的iPhone 4相机是不可用的,因为即使在相当不错的照明,它总是坚持以最慢的1/15快门速度拍摄,导致运动模糊,如果主体在移动。 谢谢! 解决方案 不直接。请提交错误报告。 是的,可能有私人API可用 ..
发布时间:2016-11-10 17:00:18 移动开发

如何在Code :: Blocks中查看反汇编?

我阅读了本文关于C / C ++的一些低级基础,作者基本上通过编译器生成的汇编代码逐行显示我们。他使用VS 2010,但我不,我使用Code :: Blocks。如何查看反汇编?当我去调试器,并单击反汇编,它显示一个空白的窗口... 这是C ++(.cpp)代码: int main() { int x = 1; int y = 2; int z = 0; z = ..
发布时间:2016-10-24 16:30:46 C/C++开发