Articles of Linux操作系统

监视(嗅探)/ dev / ttyUSB0由FTDI USB串行转换器创build

我想监视(嗅探)由FTDI USB串行转换器创build的/ dev / ttyUSB0的stream量。 我已经在Windows中编写了自己的应用程序,现在我尝试将它移植到linux并使用/ dev / tty / USB0。 我想debugging实际发生的通信。 软件strace不是我的select,因为它只显示ioctl的系统调用。 使用Windows软件“Free Serial Port Monitor”通过嗅探COM1来完成。 dmesg的输出: [16975.000221] usb 7-1: new full-speed USB device number 5 using uhci_hcd [16975.193543] usb 7-1: New USB device found, idVendor=0403, idProduct=6001 [16975.193548] usb 7-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [16975.193552] usb 7-1: Product: FT232R USB UART […]

自动工具语法错误与ax_check_compile_flag

我正在使用autotools来构build我的C ++应用程序。 在我的configure.ac中,我有以下行: AX_CHECK_COMPILE_FLAG([-Wall], [CPPFLAGS="$CPPFLAGS -Wall"]) 这在执行./configure时会导致以下错误(在运行autoreconf -i之后 ): ./configure: line 3825: syntax error near unexpected token `-Wall,' ./configure: line 3825: `AX_CHECK_COMPILE_FLAG(-Wall, CPPFLAGS="$CPPFLAGS -Wall")' 我的系统: Linuxnetworking3.2.0-4-amd64#1 SMP Debian 3.2.65-1 + deb7u2 x86_64 GNU / Linux 在我的Ubuntu机器上,它运作良好,为什么我得到这个错误?

在x86中将string定义为字节(db)和将string定义为字/双字(dw / dd)有什么区别?

我试图调查大会定义标签之间的差异,这里是一个例子 ALabel: db 'Testing' AAnotherLabel: dw 'Testing' 现在,让我加载到一个32位寄存器: mov eax, [ALabel] mov ebx, [AAnotherLabel] 经过gdb的调查,我发现eax和ebx的所有子寄存器都包含相同的值,请看这里: info register eax 0x64636261 //dcba info register ebx 0x64636261 //dcba 他们是一样的! 在Jeff Duntemann的书中(汇编语言使用Linux进行分步编程),他给出了一个单词和双字进入寄存器的例子,但由于某种原因加载了偏移量(即像这样的值的地址) DoubleString: dd 'Stop' mov edx, DoubleString 对edx内容的调查显示,它包含一个地址,可能是string中前四个字母的地址,与第一个地址相同,尽pipe我在这里进行了推测。 我想澄清在这里真正发生了什么,并且这个声明实际上是将string中第一个字母的地址加载到一个寄存器中: Fin: db 'Final' mov ecx, Fin

我怎样才能sorting在Linux Bash shell中的string数组?

例如,数组是 link2_pathname link1_pathname link3_pathname 我怎样才能得到像下面的数组。 link1_pathname link2_pathname link3_pathname 提前感谢!

什么是用户进程的有效地址空间? (OS X和Linux)

mmap系统调用文档说,如果出现以下情况,函数将失败: 指定了MAP_FIXED,并且addr参数不是页alignment的,或者所需地址空间的一部分驻留在用户进程的有效地址空间之外。 我无法在任何地方find说明什么是有效地图的文档。 (我有兴趣在OS X和Linux上执行此操作,理想情况下相同的地址对于这两个操作都是有效的)。

Path.startsWith在Linux上为Windows文件path返回false

为什么会这样? Path parent1 = Paths.get("/flugel/borf/noggin"); Path child1 = Paths.get("/flugel/borf/noggin/foo/bar/baz.jpg"); System.out.println("child1 startsWith parent1? " + child1.startsWith(parent1)); System.out.println(child1.getFileSystem()); System.out.println(parent1.getFileSystem()); Path parent2 = Paths.get("C:\\foo"); Path child2 = Paths.get("C:\\foo\\bar\\baz.jpg"); System.out.println("child2 startsWith parent2? " + child2.startsWith(parent2)); System.out.println(child2.getFileSystem()); System.out.println(parent2.getFileSystem()); 回报 child1 startsWith parent1? true sun.nio.fs.LinuxFileSystem@f5f2bb7 sun.nio.fs.LinuxFileSystem@f5f2bb7 child2 startsWith parent2? false sun.nio.fs.LinuxFileSystem@f5f2bb7 sun.nio.fs.LinuxFileSystem@f5f2bb7 我在Ubuntu上运行Java 8,但没有任何关于Path.startsWith的javadoc解释为什么发生这种情况。 两个文件path都不包含任何实际的文件。

如何在Linux中安装SSReflect和MathComp?

我已经在Linux(Ubuntu 17.04)中成功安装了Coq 8.6和CoqIDE。 但是,我不知道要继续添加SSReflect和MathComp到此安装。 我查过的所有参考资料对我来说似乎都很混乱。 有没有人有一个简单而简单的食谱呢? 我有安装opam。

用于Python脚本的桌面启动程序以错误的path启动程序(Linux)

我无法从Linux Mint 17.1 Cinnamon上创build的.desktop启动器启动python脚本。 问题是,脚本将在错误的path启动 – 即主文件夹,而不是它所在的目录。因此,它找不到其他文件夹中的其他重要文件,因此不起作用。 为了检查这种不当行为,我创build了一个简短的脚本来检查python脚本正在执行的文件夹: #!/usr/bin/env python import subprocess import time subprocess.call(["pwd"], shell=True) time.sleep(7) # to get a chance to read the output 从它自己的文件夹执行它给出的输出: /home/myusername/PythonProjects 我正在通过尼莫的菜单设置桌面启动器。 现在执行相同的脚本产生: /home/myusername 我不明白这个行为。 我怎么能创build一个工作桌面启动我的Python脚本?

具有multithreadingcurl请求的Segfault

我在这里遇到了一些C ++程序的麻烦。 基本上我已经为http请求写了一个简单的包装,可以一次执行多个请求。 工作绝对好,但是当我做httpS请求时,它在multithreading模式下随机崩溃。 我使用curl和posix线程。 Backtrace看起来像这样: ======= Backtrace: ========= /lib/x86_64-linux-gnu/libc.so.6(+0x80996)[0x7fea9046d996] /lib/x86_64-linux-gnu/libc.so.6(+0x82b80)[0x7fea9046fb80] /lib/x86_64-linux-gnu/libc.so.6(realloc+0xf2)[0x7fea90470ae2] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(CRYPTO_realloc+0x49)[0x7fea8f9c6169] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(lh_insert+0x101)[0x7fea8fa4bfb1] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(+0xe844e)[0x7fea8fa4e44e] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_get_state+0xde)[0x7fea8fa4eeee] /lib/x86_64-linux-gnu/libcrypto.so.1.0.0(ERR_clear_error+0x15)[0x7fea8fa4f065] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x24e79)[0x7fea90f10e79] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x39ea0)[0x7fea90f25ea0] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0xf8fd)[0x7fea90efb8fd] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x219f5)[0x7fea90f0d9f5] /usr/lib/x86_64-linux-gnu/libcurl.so.4(+0x35538)[0x7fea90f21538] /usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_multi_perform+0x91)[0x7fea90f21d31] /usr/lib/x86_64-linux-gnu/libcurl.so.4(curl_easy_perform+0x107)[0x7fea90f19457] ./exbot[0x40273a] /lib/x86_64-linux-gnu/libpthread.so.0(+0x7f6e)[0x7fea90cd6f6e] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fea904e79cd] 这可能是libcrypto中的一个错误? 我可以不知何故告诉curl不要使用libcrypto? 任何替代品? 它只使用httpS请求来启动文件,并且即使10000个同时http查询也能正常工作。 干杯,托马斯 只是为了完整我的代码: // simple wrapper for http requests #ifndef _REQUEST_H_ #define _REQUEST_H_ #include <curl/curl.h> #include <pthread.h> #include <string> #include <iostream> ////////////////////////////////// // MACROS ////////////////////////////////// […]

找不到png.h文件 – Linux

我试图在Linux的Ubuntu的运行。 当我键入让它说 rgb_image.cc:26:24: fatal error: libpng/png.h: No such file or directory #include <libpng/png.h> 然后我跟着这个来安装png.h. sudo install libpng-dev 但现在它告诉我 install: missing destination file operand after 'libpng-dev' 我该怎么办? 请帮忙,谢谢。