标签: gnu

在Linux C++应用程序中查找和读取大文件

我使用G ++中的标准ftellfseek选项进入整数溢出,但我想我错了,因为似乎ftell64fseek64不可用.我一直在搜索,许多网站似乎使用lseekoff64_t数据类型引用,但我没有找到任何引用等于fseek的例子.我现在正在阅读的文件是16GB + CSV文件,期望至少翻倍.

没有任何外部库,实现与fseek/ftell对类似的结构最简单的方法是什么?我的应用程序现在使用4.x的标准GCC/G ++库.

c c++ linux gnu large-files

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

gnu syslog(),openlog()和closelog()线程安全吗?

我一直在寻找一些时间,但还没有找到明确的答案.到目前为止,我发现的唯一链接就是这里.

c linux gnu syslog

14
推荐指数
3
解决办法
6336
查看次数

用于解析GNU风格的参数的库?

我注意到大多数GNU核心应用程序的基本"风格",其中的参数是:

  • --longoption
  • --longoption=value 要么 --longoption value
  • -abcdefg (多种选择)
  • -iuwww-data(选项i,u = www-data)

他们遵循上述风格.我想避免编写参数解析器,如果有一个库使用上述样式执行此操作.你知道吗?

c linux arguments gnu

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

GNU make中的错误:特定于目标的变量不会在隐式规则中扩展吗?

我一直在设计一个多配置Makefile(一个支持单独的'debug'和'release'目标),并且遇到了一个奇怪的问题,这似乎是GNU make中的一个bug.

当隐式规则中引用这些变量时,GNU make似乎没有正确扩展特定于目标的变量.这是一个简化的Makefile,它显示了这个问题:

all:
    @echo specify configuration 'debug' or 'release'

OBJS := foo.o bar.o

BUILDDIR = .build/$(CONFIG)

TARGET = $(addprefix $(BUILDDIR)/,$(OBJS))

debug: CONFIG := debug
release: CONFIG := release

#CONFIG := debug

debug: $(TARGET)
release: $(TARGET)

clean:
    rm -rf .build

$(BUILDDIR)/%.o: %.c
    @echo [$(BUILDDIR)/$*.o] should be [$@]
    @mkdir -p $(dir $@)
    $(CC) -c $< -o $@
Run Code Online (Sandbox Code Playgroud)

指定目标'debug'时,CONFIG设置为'debug',BUILDDIR和TARGET同样正确扩展.但是,在从对象构建源文件的隐式规则中,$ @被展开,就像CONFIG不存在一样.

以下是使用此Makefile的输出:

$ make debug
[.build/debug/foo.o] should be [.build//foo.o]
cc -c foo.c -o .build//foo.o
[.build/debug/bar.o] should be [.build//bar.o]
cc -c bar.c -o …
Run Code Online (Sandbox Code Playgroud)

gnu makefile gnu-make

13
推荐指数
2
解决办法
5731
查看次数

Gnu时间和格式输出

我想用gnu时间测量一些小.c程序的运行时间.在这个人写的是:

-f FORMAT, --format FORMAT
Use FORMAT as the format string that controls the output of time.  See the below more information.
Run Code Online (Sandbox Code Playgroud)

然后在示例中我们有:

To run the command `ls -Fs' and show just the user, system, and total time:
time -f "%E real,%U user,%S sys" ls -Fs
Run Code Online (Sandbox Code Playgroud)

但是当我尝试从示例中发出此命令时,我得到:

time -f '%E real,%U user,%S sys' ls -Fs
-f: command not found

real    0m0.134s
user    0m0.084s
sys     0m0.044s
Run Code Online (Sandbox Code Playgroud)

我想知道问题出在哪里,我在哪里弄错了?我只是想显示用户时间,这就是为什么我玩弄时间输出格式.

linux gnu

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

在哪里可以下载源代码到GNU C++标准库?

我在http://ftp.gnu.org/gnu/glibc/下载了GNU标准C库(glibc)源代码.我在哪里可以找到他们的C++库的类似下载?

我已经google了一下,似乎无法找到它.

我需要它的唯一原因是我想看看它是如何实现的.所以请不要给我链接到二进制文件或只是头文件,因为它是我正在寻找的实现源文件.

c++ stl gnu

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

gnu lib math(libm)源代码在哪里

我想下载并编译libm的源代码(GNU的可能库).

有人能指出我正确的位置/存储库吗?

gnu libm

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

Git commit -a打开GNU nano 2.2.6如何更改它以打开Vim?

我正在尝试使用提交消息添加提交消息

git commit -a 
Run Code Online (Sandbox Code Playgroud)

或者只是简单

git commit
Run Code Online (Sandbox Code Playgroud)

这以某种方式打开了GNU Nano 2.2.6编辑器,我对此并不满意.所以问题是:

如何修改我的设置以便始终使用VIM打开?

我已经做的是在〜/ .bash_profile中插入以下行

set EDITOR = vim
Run Code Online (Sandbox Code Playgroud)

请帮忙 !

git vim gnu editor nano

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

如何在Mac OSX上模拟"sort -V"

我编写了一个bash脚本,我需要在linux和mac osx上以相同的方式工作,它依赖于sort命令.我正在对输出进行管道git tag -l排序,以便以正确的语义顺序获取所有版本标签的列表.GNU提供-V了这种自动化,但mac osx不支持这个参数,所以我需要弄清楚如何在没有它的情况下完成这种排序.

6.3.1.1
6.3.1.10
6.3.1.11
6.3.1.2
6.3.1.3
...
Run Code Online (Sandbox Code Playgroud)

需要排序为

6.3.1.1
6.3.1.2
6.3.1.3
...
6.3.1.10
6.3.1.11
Run Code Online (Sandbox Code Playgroud)

git sorting macos bash gnu

13
推荐指数
2
解决办法
4120
查看次数

在程序代码中编码/嵌入版本号的正确方法

我想将我的软件版本嵌入到我的代码中,然后使用类似-vor之类的命令从程序二进制文件中检索它--version.作为示例,一些GNU/Linux软件二进制文件在命令行中提供-v-V参数时打印其版本信息,ls以此为例:

$ ls --version
ls (GNU coreutils) 8.13
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Run Code Online (Sandbox Code Playgroud)

是否有约定或标准这样做?我试图搜索这些信息,但由于我不知道正确的术语,我的搜索仅导致版本控制howto.软件代码是用C++语言编写的,如果它有助于更​​好地解决问题.

c++ linux bash gnu version

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

标签 统计

gnu ×10

linux ×5

c ×3

c++ ×3

bash ×2

git ×2

arguments ×1

editor ×1

gnu-make ×1

large-files ×1

libm ×1

macos ×1

makefile ×1

nano ×1

sorting ×1

stl ×1

syslog ×1

version ×1

vim ×1