标签: gnu

MAKEFILE 中的键值对

我是 makefle 的新手,我在 makefile 中需要数组,然后我发现我可以实现具有变量,其项目用空格分隔,然后迭代它。现在我想要像映射(键,值)对这样的东西来存储带有键的值。问题:我可以在 makefile 中添加它吗?提前致谢..

bash gnu makefile key-value gnu-make

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

如何有效地按键合并k个排序的成对键/值向量?

我想k按键合并排序的成对键/值向量。n通常,向量的大小非常大(例如, n >= 4,000,000,000)。

\n

考虑以下示例k = 2

\n
// Input\nkeys_1 = [1, 2, 3, 4], values_1 = [11, 12, 13, 14]\nkeys_2 = [3, 4, 5, 6], values_2 = [23, 24, 25, 26]\n\n// Output\nmerged_keys = [1, 2, 3, 3, 4, 4, 5, 6], merged_values = [11, 12, 13, 23, 14, 24, 25, 26]\n
Run Code Online (Sandbox Code Playgroud)\n

由于__gnu_parallel::multiway_merge它是一种高效的k单向合并算法,因此我尝试利用最先进的 zip 迭代器(https://github.com/dpellegr/ZipIterator)来“组合”键值对向量。

\n
#include <iostream>\n#include <vector>\n#include <parallel/algorithm>\n\n#include "ZipIterator.hpp"\n\nint main(int argc, char* argv[]) …
Run Code Online (Sandbox Code Playgroud)

c++ algorithm merge gnu c++17

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

使用Linux而不是UNIX来编译CS课程的c代码

我上网的CS课程建议学生编译他们的源代码并在OS UNIX上运行像valgrind这样的工具.我完全不熟悉UNIX,Linux,他们的工具和c编码.我已尝试在VMWare Player 3.1.3上安装FreeBSD 8.1,甚至设法让VMWare Tools运行.但FreeBSD文档让我在完成常见任务(包括安装NFS或USB设备)方面遇到了许多问题.事实证明,我需要安装或配置我需要的软件包,我没有看到任何关于如何安装它们的直接答案.

所以,如果我只使用UNIX作为工具来运行gcc,g ++,valgrind这个CS课程,而这些可以在Linux上运行,看起来我可以使用Ubuntu Linux更快地完成工作.

如果在Linux上编译,可以使用Linux在UNIX上以相同的方式编译和运行c代码吗?或者如果没有,有什么不同之处?

谢谢

c unix linux gnu

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

GNU通用公共许可证和广告

如果我使用使用GNU通用公共许可证的Web框架创建Web应用程序。在网站上投放广告是否违法?据我了解,GNU GPL最重要的是向用户提供源代码。

licensing gpl gnu ads

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

gcc gnatmake Ada编译器用什么语言编写?

我是一名计算机科学专业的学生.目前我们正在学习Ada编程语言.编译现在非常简单:gnatmake source.adb所以我不知道gnatmake实际上做了什么或者是什么(脚本?二进制?其他什么?).无论如何,我想知道编译器本身(还有解析器,如果用不同的语言编写)用什么语言编码?

compiler-construction gcc gnu ada

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

如何检查是否使用了c99,而不是gnu99

我想在编译期间添加一条警告消息,警告用户它应该使用gnu99而不是c99(我使用的是匿名结构,而且它似乎在c99中根本不存在).

我找到:

#if __STDC_VERSION__ >= 199901L
Run Code Online (Sandbox Code Playgroud)

但是这个测试适用于c99和gnu99.

我可以使用哪个预定义的宏?

gcc gnu c99

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

GNU Makefile宏规则

在GNU中,Makfiles可以在宏定义之前有前导空格吗?以及允许的空格类型(制表符,换行符,空格......)

谢谢!

whitespace gnu makefile space

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

自动连接模块

我的automake/autoconf有问题.我将首先向您展示我的源代码树的布局:

src
------ arch
---------- avr
-------------- i2c.c
------- sys
------ ----- thread.c

现在我的问题.完全编译arch/avr/i2c.c和sys/thread.c并不难.但我真正想要的是部分编译我的所有子目录(使用gcc -c),然后将所有对象从一个子目录链接起来(ld -r),并在编译所有子目录时制作这些子目录文件的程序.这是可能的,如果是的话,怎么样?

格雷茨,米歇尔

automake autoconf gcc gnu ld

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

使用反射来修改方法并获取对其局部变量的访问权限

由于我不太确定与分配gnu.mail.providers有什么关系,我想用反射来与这个类进行交互.

我认为getMessage中的算术不正确:

          GroupResponse gr = ns.connection.group(name);
          first = gr.first;
          last = gr.last;
          count = gr.count;
          // Get article
          m = getMessageImpl(msgnum - 1 + first);
          // Cache store
          articleCache.put(key, m);
          return m;
Run Code Online (Sandbox Code Playgroud)

无论如何,我想在getMessage方法中访问上面的GroupResponse对象.虽然我知道反射可以沿着这些方向做事,但我不确定如何从这个特定的方法中获得这个特定的对象.我已经使用反射来访问某些字段(first,last,count),但这看起来有点不同.

它是GroupResponse类,它似乎把所有东西放在一起.

我可以使用反射来编写自定义的getMessage方法并将其"粘贴"到NNTPFolder上吗?我不确定什么是可行或可取的.

java api reflection version-control gnu

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

struct dirent在头文件中没有de_type

所以我有一个项目,我需要构建一个小的简单文本shell,可以运行,编辑和读取目录中的文件.我有一个应该工作的小原型,除了我编译时,我收到一个错误,关于在dirent.h头文件中使用的struct dirent中找不到d_type.

d = opendir( "." );
c = 0;
while ((de = readdir(d))){
    if ((de->de_type) & DT_DIR)
    printf( " ( %d Directory: %s ) \n", c++, de->de_name);
}
Run Code Online (Sandbox Code Playgroud)

变量"de"的类型为struct dirent*,并且正在检查它的类型,我得到错误:'struct dirent'没有名为'de_type'的成员

这里我真的很困惑和困惑:我在两个窗口(使用开发C++)和Ubuntu(使用gcc)上编译了这段代码.我在两个操作系统上都收到了相同的错误,当我检查使用的库时,我相信这是正常的gnu C库,有一个名为d_type的变量:

https://www.gnu.org/software/libc/manual/html_node/Directory-Entries.html

我找到了对dirent.h文件的其他引用,因为一个文件不在同一个库中,如果是这样,我该如何加载该库以便编译代码?

对不起,很长的帖子,非常感谢所有回答!

c gnu dirent.h libraries

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