小编Pun*_*oni的帖子

交叉编译时如何使用外部库?

我在x86 ubuntu机器上为raspberry pi ARM目标编写了一些代码.我正在使用gcc-linaro-armhf工具链.我能够在pi上交叉编译并运行一些独立的程序.现在,我想将我的代码链接到外部库,如ncurses.我怎样才能做到这一点.

我应该将我的程序与主机上现有的ncurses lib链接,然后在ARM上运行吗?(我认为这不会起作用)我是否需要为arm获取lib的源代码或预构建版本,将其放入我的lib路径然后编译?

在这种情况下,最佳做法是什么?

我也想知道它如何用于c stdlib.在我的程序中,我使用了stdio函数,它在交叉编译后工作,没有做任何特殊的事情.我刚刚在makefile中为我的arm gcc提供了路径.所以,我想知道,它是如何得到正确的标准头文件和库?

c linux gcc arm cross-compiling

30
推荐指数
2
解决办法
4万
查看次数

可视化Linux内核使用的设备树文件(dtb)的工具?

我正在寻找一个工具,它可以图形化地表示Linux内核中使用的硬件设备树.我试图了解特定arm芯片组的linux内核.这将是一个非常有用的工具.

linux arm linux-kernel embedded-linux device-tree

15
推荐指数
3
解决办法
3万
查看次数

将键盘输入发送到正在运行的进程linux

我正在开发一个mp3播放器的网络界面(mpg123 linux).mpg123是一个命令行MP3播放器,可以使用键盘输入进行控制.例如:

$ mpg123 -C filename.mp3
Run Code Online (Sandbox Code Playgroud)

它将开始播放歌曲并监控键盘输入以进行控制.按's'将暂停歌曲'q'以退出等.

我使用Perl脚本生成一个mpg123进程.从该脚本我想将输入发送到此过程.我有进程的pid,我只需要将键击发送到此进程以进行控制.

linux perl keystroke

6
推荐指数
1
解决办法
4590
查看次数

如何在C++构造函数中验证输入参数?

以下示例显示了问题的症结所在.我需要初始化类的const成员.这只能在初始化列表中完成,而不能在构造函数体中完成.如果构造函数的输入无效,也就是说,如果向量大小小于3,我想断言或抛出错误.

class A {
 // In following constructor, how do we make sure if params.size()
 // is at least 3.
 A(const std::vector<int>& params):
  x(params[0]), y(params[1]), z(params[2]) {}
private:
  const int x;
  const int y;
  const int z;
};
Run Code Online (Sandbox Code Playgroud)

请告知如何在Modern C++(11及更高版本)中实现这一目标

c++ validation constructor c++11

4
推荐指数
2
解决办法
1146
查看次数

在C中写入位图文件头的问题

我正在尝试使用C创建一个新的位图文件.这是.bmp文件头的结构.

#define uint16 unsigned short
#define uint32 unsigned long
#define uint8  unsigned char
typedef struct 
{
 uint16 magic;  //specifies the file type "BM" 0x424d
 uint32 bfSize;  //specifies the size in bytes of the bitmap file
 uint16 bfReserved1;  //reserved; must be 0
 uint16 bfReserved2;  //reserved; must be 0
 uint32 bOffBits;  
} BITMAPFILEHEADER;
Run Code Online (Sandbox Code Playgroud)

在我的程序中,我这样做.

main() {
FILE* fp;
fp = fopen("test.bmp", "wb");
 BITMAPFILEHEADER bmfh;
 BITMAPINFOHEADER bmih;

 bmfh.magic = 0x4d42; // "BM" magic word
 bmfh.bfSize = 70; 
 bmfh.bfReserved1 = 0;  
 bmfh.bfReserved2 = 0; …
Run Code Online (Sandbox Code Playgroud)

c file-io binaryfiles bitmap

3
推荐指数
1
解决办法
4382
查看次数

poll()系统调用中POLLIN和POLLPRI之间的区别

poll()的文档没有详细解释这一点.在fd上轮询时,应该在何时使用POLLIN和何时使用POLLPRI?任何见解都会很有用.

linux system-calls polling

1
推荐指数
1
解决办法
1万
查看次数