Questions tagged «programming»

有关用于编程工具(编译器,IDE等)的问题,对于涉及编程的问题,请询问Stack Overflow。

2
如何通过GDB进入,过渡和退出?
我help在GDB时打过字,但没有发现任何有关跨入,跨入和跨出的信息。我在_start(break _start)中的Assembly程序中放置了一个断点。之后,我输入next并完成调试。我想那是因为它完成了_start,没有按照我的意愿介入。 有人可以帮忙吗?

5
Mac OS X和Linux之间的二进制兼容性
冒犯自己,这个问题可能会显得天真和/或愚蠢,因为我对诸如系统之类的unix的内部工作和编程一般来说还比较陌生。 准备?好!我将经历大约3个水平的可笑性,并随着操作的进行而增加。 我们有两个具有相似硬件的系统(主要是处理器,让我们说一个标准的Intel Core 2 Duo)。 一个正在运行(在此处插入您的Linux发行版:以后将使用Ubuntu),另一个正在运行,例如Mac OSX。 一个人编译一个等效的程序,让我们说一些类似的东西: int main() { int cat = 33; int dog = 5*cat; return dog; } 代码非常简单,因为我还不想考虑共享库的含义。 在各个系统上编译时。输出之间的主要区别不是ELF和Mach-O的问题吗?如果要剥离格式的每个二进制文件,而只保留一个平面二进制文件,那么反汇编的机器指令会不会相同?(根据编译器的习惯/倾向,可能会有一些差异)。 1.)如果要开发一种程序,以Mach-O格式重新包装从我们的Ubuntu系统产生的平面二进制文件,它将在Mac OS X系统中运行吗?然后,如果一个人只有上面假定程序的编译二进制文件,而一个人只有这个神秘的工具用于重新打包平面二进制文件,那么简单的程序是否可以在Mac OS X系统上运行? 现在让我们更进一步。 我们现在有一个程序,其源代码如下: #include <stdio.h> int main() { printf("I like tortoises, but not porpoises"); return 0; } 2.)假设该程序已编译并静态链接,我们的魔术程序是否仍然能够以Mach-O格式重新打包原始二进制文件,并使它在mac os X上运行?看起来它不需要依赖任何其他二进制文件(在这种情况下,mac系统不需要) 现在到了最后的水平; …

3
我的Linux二进制文件可以在所有发行版上使用吗?
我找到了一个很好的替代Delphi的IDE,叫做Lazarus。但是我对程序员没有问题。 请问静态链接上的所有Linux发行版的Linux二进制工作?也就是说,在我构建的Linux发行版上都没有关系,它可以在Debian / ArchLinux / Ubuntu / OpenSUSE / ...上运行。 根据我的发现,真的只有32位与64位有关系吗?在发布之前,我想确定一下。

6
程序是否可以在POSIX中获取命令行参数之间的空格数?
假设我用下面的代码写了一个程序: int main(int argc, char** argv) 现在,通过检查的内容,知道将哪些命令行参数传递给它argv。 程序可以检测参数之间有多少空格吗?就像我在bash中键入以下内容一样: ibug@linux:~ $ ./myprog aaa bbb ibug@linux:~ $ ./myprog aaa bbb 环境是现代Linux(例如Ubuntu 16.04),但是我想答案应该适用于任何POSIX兼容系统。

5
在Linux上使用O_DIRECT
如果这个问题太面向程序员,请告诉我。我想知道是否有人熟悉Linux 2.6上的open()系统调用的O_DIRECT标志?Linus贬低了它的使用,但是高性能文件写入似乎表明了它的使用。我想知道任何现实世界的经验和建议。 更多信息:我正在使用的应用程序确实维护了自己的缓存,并且这样做的速度平均提高了5倍或更多。写入文件时,必须将高速缓存的内容写出到文件系统高速缓存中,这似乎是多余的,并且会影响性​​能。

8
什么是补充Vim的最佳通用编程工具?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 去年关闭。 我使用Vim作为文本编辑器已有一段时间了,我觉得我在做任何事情上都走了很长的路。我使用ctags标记我的代码库以进行导航,并使用grep(尽管效率低下)来查找使用某些方法的位置。但是我觉得有一些我不知道的非常有用的工具可以使我的工作效率更高。 我可以用来补充Vim的通用编程的最佳软件堆栈是什么?您如何浏览代码库,运行make,将更改推送到源代码管理系统等?在Vim旁边是否打开了第二个控制台?

5
automake和autoconf是编译代码的标准方法吗?
有时我会从源代码编译应用程序,而我一直在使用: ./configure make sudo make install 但是最近,我遇到了./autogen.sh为我生成配置和制作脚本并执行它们的脚本。 还有哪些其他简化C / C ++ / C#(mono)编译的方法?使看起来有点旧。是否有新工具?有了选择,我应该使用哪一个?


1
什么是AT&T的链接编辑器命令语言?
的手册页ld引用了AT&T’s Link Editor Command Language,但是Google搜索无法提供关于内容AT&T’s Link Editor Command Language或过去的令人满意的解释,除了指向上述手册页之外,而我希望前五个结果出现在Wikipedia页面上。 似乎这里缺少重要的计算历史。是否有人对此语言有参考或历史文献?我们可以在Wikipedia中保存一些内容以备后代使用吗?

3
用纯Bash编写程序有多复杂?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 经过一些快速的研究,看来Bash 是图灵完备的语言。 我想知道,为什么Bash几乎专门用于编写相对简单的脚本?由于Bash Shell随Linux一起提供,因此您可以运行Shell脚本,而无需任何其他外部解释器或编译器,这是其他流行的计算机语言所必需的。这是一个巨大的优势,在某些情况下可以弥补语言本身的平庸性。 那么,此类程序的复杂程度是否有限制?纯Bash是否用于编写复杂程序?可以用纯Bash编写文件压缩器/解压缩器吗?编译器?一个简单的视频游戏? 仅仅因为调试工具非常有限而使用稀疏吗?


1
什么时候可以在可执行二进制文件中编辑字符串?
我有一个可执行的二进制文件;让我们称之为a.out。我可以看到二进制文件包含字符串 $ strings a.out ... /usr/share/foo .... 我需要将字符串更改/usr/share/foo为/usr/share/bar。我可以将字符串替换为sed吗? sed -i 's@/usr/share/foo@/usr/share/bar@' a.out 这看起来很安全。当字符串长度不同时,这也可以工作吗?

1
Unix编程到底是什么意思?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 5年前关闭。 我以为我了解Unix编程一词的含义,但是现在,在内核/ C编程上下文中阅读它之后,我觉得需要澄清该术语的含义。 我不清楚这是否意味着: Shell编程 Unix编程工具, Unix命令行工具的特定编程方式/模式(例如,与“ Unix shell编程”的管道方式一致),或者 其他的东西。

2
在哪里可以找到标准linux命令行工具的最佳来源?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Unix&Linux Stack Exchange 的主题。 11个月前关闭。 进入:我喜欢通过阅读资料来学习。但是,在许多不同项目站点上分散的Internet上搜索它们很累。我很想看到集中浏览的仓库,其中包含许多应用程序的来源。 当某人想要查找某些Linux工具的文档时,最佳位置是:man toolname。 当我想按需浏览Linux资源时,可以随时跳转至:Linux Cross Reference。 当我想找到最普通的员工时,可以在Coreutils中找到所有资源 。 当我想检查如何构建东西时,我可以(例如)跳到http://www.archlinux.org/packages/,检查它的pkgbuild。 是否有任何回购协议可以将大多数工具的来源集中在一处?-就像man保存文档或Linux Cross Reference内核源代码一样。 我的意思是“快速”“按需”检查事物是如何实现的。(是的,我知道Google->但我对例行工作感到厌倦:1.搜索项目站点2.浏览仓库甚至更糟->检查它是仓库3.完成后删除) 备注: 我已经强调过,我想检查一下工具:快速,快速,按需。 这意味着:我不想随其源一起安装整个应用程序,而只是查看其源。(顺便说一句,Web资源是更可取的,因此我可以检查来自多台计算机的资源-我没有对所有计算机进行管理)


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.