我正在寻找一个编辑器来打印(在纸上)C++ 代码。我目前在工程学校,讲师要求我们提交纸上的代码。
他要姓名+姓氏,班级编号(在标题上),底部的页码,以及每一页加粗的保留字!
在 Windows 上,它可以通过notepadd++
. 但我在 Linux 上,我还没有找到有效的 IDE 或文本编辑器。(我已经试过了SCITE
, gedit
, 和Syntaxic
)
为什么大多数 Linux 程序都是用 C 编写的?为什么它们不是用更新的 C++ 编写的?
在 Eclipse 中创建新的 C++ 项目时,有人问我工具链。
这些工具链Cross GCC
和Linux GCC
. 在什么情况下使用它们?和项目是否要在linux和windows机器上编译有关系吗?
在其中一个答案中,我们可以阅读:
通常,交叉编译器是为与您的系统不同类型的系统生成代码的编译器。
所以如果我使用自己的 makefile 在目标机器上编译项目,我在这里选择什么选项都没有关系,对吗?
我尝试了许多解决方案来在 debian 服务器上为我的 gcc 编译器安装更新。他们都没有工作。我需要编译器更新才能使用 c++11 的新功能,因为这提供了稳定的 libcxx11 ABI,以及对 C++11 的稳定支持(请参阅此处)。专门获取版本“GLIBCXX_3.4.21”,该版本未包含在我当前的编译器 gcc 版本 4.9.2(Debian 4.9.2-10)中。
一些解决方案的指针会有所帮助。提前致谢。
一些与我已经尝试过的问题相关的论坛链接:
我有一个 hello world 内核模块的源代码,它可以在笔记本电脑的 Ubuntu 20 中运行。现在我正在尝试在 Ubuntu 20 中但在 WSL2 中编译相同的代码。为此,我正在使用这个:
make -C /sys/modules/$(shell uname -r)/build M=$(PWD) modules
Run Code Online (Sandbox Code Playgroud)
问题是那/lib/modules
是空的。好像 WSL2 什么都带不进来/lib/modules/4.19.104-microsoft-standard/build
我尝试使用以下方法获取标题:
sudo apt search linux-headers-`uname -r`
Sorting... Done
Full Text Search... Done
Run Code Online (Sandbox Code Playgroud)
但是在模块文件夹中没有填充任何内容
为了该文件夹包含所有必需的模块,我需要做什么吗?
[编辑]
感谢@HannahJ,越来越近。
我在做:
> sudo make -C /home/<user>/WSL2-Linux-Kernel M=$(pwd) modules
SL2-Linux-Kernel M=$(pwd) modules
make: Entering directory '/home/<user>/WSL2-Linux-Kernel'
CC [M] /home/<user>/containers-assembly-permissionsdemo/demo-2/lkm_example.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/<user>/containers-assembly-permissionsdemo/demo-2/lkm_example.mod.o
LD [M] /home/<user>/containers-assembly-permissionsdemo/demo-2/lkm_example.ko
make: Leaving directory '/home/<user>/WSL2-Linux-Kernel'
Run Code Online (Sandbox Code Playgroud)
最后,我lkm_example.ko
创建了文件。
在那之后:
> …
Run Code Online (Sandbox Code Playgroud) 我正在尝试组合一些像这样的程序(请忽略任何额外的包含,这是正在进行的繁重工作):
pv -q -l -L 1 < input.csv | ./repeat <(nc "host" 1234)
Run Code Online (Sandbox Code Playgroud)
重复节目的来源如下所示:
#include <fcntl.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/epoll.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <iostream>
#include <string>
inline std::string readline(int fd, const size_t len, const char delim = '\n')
{
std::string result;
char c = 0;
for(size_t i=0; i < len; i++)
{
const int read_result = read(fd, &c, sizeof(c));
if(read_result != sizeof(c))
break;
else
{
result += c;
if(c == …
Run Code Online (Sandbox Code Playgroud) 我想在 Linux Mint 17.3 中安装最新版本的 GCC(GNU 编译器集合)。当前g++ --version
返回 4.8.4,而最新的稳定版本是 5.3。
我想在 Arch Linux 中编译一个 C++ 程序,但是没有像 Ubuntu 存储库中那样的“g++”包。
使用-x
太多也行不通。像这样:
gcc -x c++ -o myprog myprog.cpp
Run Code Online (Sandbox Code Playgroud) 我正在尝试安装最新的稳定版g++
和c++11
. 我的主持人通过yum install
并认为这是最新的,但事实并非如此,他们现在说这超出了他们的支持水平。
我已经仔细研究了如何做到这一点,但我无法做任何事情,或者我不知道建议的解决方案在说什么。
在 CentOS 5.9上安装g++
4.7.2的最简单方法是什么?c++11
我通常使用这样的调试器,cgdb
幸运的是system
,直到现在我还不需要求助于调试调用。
我有一个二进制文件需要大约 30 分钟才能加载,gdb
此后经常使调试器崩溃,这可能是由于符号数量非常多。这使我的正常工作流程(加载gdb
、添加断点、识别问题变量等)站不住脚。
在 Windows 中,此时我会开始在我的代码中添加大量cout
和system("pause")
(可怜的人的断点)语句;但是如何在类 Unix 环境中执行此操作?