问题标签 [newlib]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linker - 将 LDFLAGS 添加到 newlib Makefiles
我正在尝试在 syscalls.c 文件中实现 _sbrk() 函数。为此,我需要将 newlib 与我的项目目标文件链接起来。在 newlibs 根文件夹中,我做了一个简单的
这为我创造了一堆 Makefile。但现在我不知道我编辑了哪个 Makefile 来更改 LDFLAGS。如果不这样做,我会收到“未定义的引用”错误,因为链接器找不到相关对象。在此先感谢您的阅读(并希望能帮助我:) 克里斯
c - 不同 libc 实现中 wprintf() 中“%s”的不同行为
我注意到虽然
与 Linux 下的标准 glibc 一起工作,同样的事情与 newlib 的工作方式不同。似乎 newlib 期望那里有 "%s" 的宽字符串,因此可以使用以下方法:
哪种行为是正确的?这是newlib中的错误吗?另外,有没有办法在 printf 字符串格式说明符中明确指定我想要一个“窄”字符串,而不是一个宽字符串?
gcc - 了解 __libc_init_array
我从http://newlib.sourcearchive.com/documentation/1.18.0/init_8c-source.html查看了 __libc_init_array 的源代码。
但我不太明白这个函数的作用。
我知道这些符号
在链接描述文件中定义。
部分链接描述文件可能如下所示:
然后我在 ELF-v1.1、gcc 4.7.2、ld 和 codesourcery(我正在使用 codesourcery g++ lite)的文档中使用键“init_array”进行搜索,但一无所获。
我在哪里可以找到这些符号的规格?
shared-libraries - 如何创建具有两个同名函数的共享库 (.so)
我首先编译了两个目标文件(.o):
- 字符串-memcpy.o
- 机器-memcpy.o
他们都定义了一个函数memcpy()
。现在,我想创建一个共享库(.so):
由于“多个定义memcpy
”而失败。有没有办法做到这一点 ?谢谢!
事实上,当我尝试为 libc (newlib-1.16) 编译共享库时,我遇到了这个问题。我只能在 Internet 上找到如何从中构建静态库。因此,任何有关如何实现这一目标的提示都值得赞赏。
c - 跨 i386 gcc 缺少 crt0.o 文件
我不知道为什么 newlib 没有为 i386 目标提供 crt0.o 或 crt1.o,因为它是 powerpc、arm 等目标的情况。
ld 需要它(我也需要调用静态构造函数)。
gcc - 替代 Newlib?
我是一名使用 IA-32 类型处理器的嵌入式软件工程师。我们正在寻找一个编译器工具链——最好是免费的。
我们曾经使用 Mentor Graphics CodeBench Lite,但它不再可用。
我们查看了其他 GCC 发行版,但它们都没有 glibc 的裸机实现。除了 newlib 之外没有,但由于 GPL 和 LGPL 许可问题,我们不能使用它。我们是 OEM,我们的客户(和我们)拥有专有代码。
欢迎任何建议。
c - 模拟器中运行时函数调用的ARM硬故障
我正在尝试为裸机(无操作系统)ARM Cortex M3 从 3rd 方源构建和运行一些项目。
我用 newlib 用 arm-none-eabi-gcc(success) 构建它。
我在 TI Code Composer Studio 的模拟器下运行它。
问题:
当我运行它时,它在第一次调用运行时库函数时出现硬故障(进入相应的 ISR)
直到现在我播种它在调用 memmove 或 memcpy 时失败。在跟踪反汇编时,我发现它完全按照指令失败
BLX 内存集
问题:什么可能导致故障以及如何调试它???
visual-c++ - 使用 Visual C++ Express 从 newlib 编译数学函数
我正在提取为使用 NEWLIB 的数学函数的嵌入式系统设计的代码,我想用 Visual C++ Express Edition 编译该代码。但是,似乎 NEWLIB 中的部分代码设计为仅使用 GCC 编译。
问题:可以以某种方式修改 NEWLIB 以使用 GCC 以外的编译器进行编译吗?如何?
我在这里问不合理的事情吗?
例如,Visual Compiler 无法理解以下符号:
请注意,如果我可以使用 LCC 进行编译,我会满足于自己。这会更容易吗?
c - newlib printf 函数错误
我正在尝试将 printf 数据发送到我的uart
设备。我已经适当地编写了 write_r() 函数。
我遇到的问题是,
- 当我说
printf(" My name is sam \n I am fine ");
- 下次我说
printf(" I am back ");
第一个问题:我只能看到"My name is Sam",然后光标转到下一行并停在那里。
第二个问题:“我回来了”根本没有打印出来。
我尝试删除\n
,仍然printf
没有打印第二个。没有任何问题uart
。
看起来然后\
到达指针丢失了。
我的代码
c++ - STM32 C++ 新运算符(CoIDE)
我是 ARM 编程的新手,我正在使用 CoIDE,我正在尝试用 C++ 编写一些应用程序来从 8 个通道读取 PWM。
我的问题是使用运算符new
;如果我写:
它工作正常,但如果我写:
程序转到:
在第一行之后。
我在 my.st.com here上找到了一个主题,并尝试将“--specs=nano.specs”添加到“链接”和“编译”部分的“杂项控制”中,但没有任何变化。