Tag: linux

r和rb在fopen中有什么区别?

我尝试在C中使用fopen,第二个参数是打开模式。 “r”和“rb”这两种模式往往使我困惑不已。 看来他们是一样的。 但有时使用“rb”更好。 那么,为什么“r”存在? 向我详细解释或举例。 谢谢。

bash中是否有“goto”声明?

bash中是否有“goto”声明? 我知道这被认为是不好的做法,但我特别需要“转到”。

build立一个.so这也是一个可执行文件

所以大家可能知道glibc的/lib/libc.so.6可以在shell中像正常的可执行文件那样执行,在这种情况下,它会打印版本信息并退出。 这是通过在.so中定义一个入口点来完成的。 对于某些情况,也可以将其用于其他项目。 不幸的是,你可以通过ld的-e选项设置的低级入口点有点太低级:dynamic加载器不可用,所以你不能调用任何适当的库函数。 glibc出于这个原因在这个入口点通过裸机系统调用来实现write()系统调用。 我现在的问题是,任何人都可以想出一个很好的方法,如何从这个入口引导一个完整的dynamic链接器,以便可以访问其他.so的函数?

在bash中转换date格式

我有一个这样的格式的date:“2011年6月27日”,我想将其转换为20110627 是否有可能在bash中做?

设置Apache用户的umask

我正在设置一个LAMP服务器,并希望将Apache的umask设置设置为002,以便所有Apache创build的文件都具有设置的组写入权限位(因此同一组的成员可以覆盖文件)。 有谁知道如何做到这一点? 我知道在Ubuntu上,可以使用/ etc / apache2 / envvars文件来configurationumask,但服务器正在运行CentOS。 更新这个问题涉及到我刚才问的另一个问题( Linux用户和组为一个LAMP服务器 )。 如果你喜欢,请更新这个问题,使用最好的设置是让一个开发者用户在一个可以编辑由apache用户创build的文件的服务器上使用。

在Linux内核中使用浮点

我正在阅读罗伯特·洛夫(Robert Love)的“Linux内核开发”(Linux Kernel Development),我遇到了以下的一段话: 没有(简单)使用浮点 当用户空间进程使用浮点指令时,内核pipe理从整数到浮点模式的转换。 当使用浮点指令时,内核必须做的事情因体系结构而异,但内核通常会捕获一个陷阱,然后启动从整数到浮点模式的转换。 与用户空间不同的是,内核并不具备对浮点的无缝支持,因为它不能轻易陷入自身。 在内核中使用浮点需要手动保存和恢复浮点寄存器以及其他可能的杂项。 简短的回答是: 不要这样做! 除less数情况外,内核中没有浮点运算。 我从来没有听说过这些“整数”和“浮点”模式。 他们究竟是什么,为什么他们需要? 主stream硬件体系结构(如x86)上是否存在这种差别,还是特定于某些更具异国情调的环境? 从进程和内核的angular度来看,从整数到浮点模式的转换到底是什么?

使用SED删除空行

我正在尝试删除使用sed的空行 sed '/^$/d' 但我没有运气。 例如我有这样的话: xxxxxx yyyyyy zzzzzz 我想它是这样的: xxxxxx yyyyyy zzzzzz 这个代码应该是什么?

什么时候应该使用互斥体,什么时候应该使用信号量

我们什么时候应该使用互斥量,什么时候应该使用信号量?

错误1045(28000):拒绝访问用户'root'@'localhost'(使用密码:是)

我是一个电力工程,主要是用电力系统而不是编程。 最近,我一直在遵循手册在Ubuntu上安装软件套件。 实际上,我对mySQL一无所知。 我在我的Ubuntu上完成了以下安装。 sudo apt-get update sudo apt-get install mysql-server-5.5 sudo apt-get install mysql-client-5.5 sudo apt-get install mysql-common sudo apt-get install glade sudo apt-get install ntp 那我呢 me@ubuntu:~/Desktop/iPDC-v1.3.1/DBServer-1.1$ mysql -uroot -proot <"Db.sql" 我结束了以下错误信息。 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) 我该如何解决并继续?

如何在Linux上将所有文件夹和文件重命名为小写?

我必须recursion重命名一个完整的文件夹树,以便任何地方都不会出现大写字母(这是C ++源代码,但这不应该)。 奖金点忽略CVS和SVN控制文件/文件夹。 首选的方法是shell脚本,因为shell应该在任何Linux机器上都可用。 关于文件重命名的细节有一些有效的参数。 我认为具有相同小写名字的文件应该被覆盖,这是用户的问题。 在忽略文件系统的情况下检出时,也会用后者覆盖第一个文件系统。 我会考虑AZ字符并将其转换为az,其他所有内容都只是调用问题(至less在源代码中)。 脚本将需要在Linux系统上运行构build,所以我认为应该省略对CVS或SVN控制文件的更改。 毕竟,这只是一个临时结账。 也许一个“出口”是比较合适的。