我正在尝试使用 GCC 和 VC9 在我的 Ubuntu 和 Windows 机器上编译和运行以下 C 程序。但是,我面临以下问题:
GCC 编译得很好,但是在运行时,我会看到这个提示:
Segmentation Fault (Core Dump).
Run Code Online (Sandbox Code Playgroud)
VC9 编译运行良好。GCC 编译正常,但程序运行时进程终止。
在这里需要您的专家帮助。这是我的代码:
Segmentation Fault (Core Dump).
Run Code Online (Sandbox Code Playgroud)
幸得利雅不仅帮助我跟踪误差,而且还向我介绍了gdb
其回追踪工具(bt
),它是在调试GCC编译的程序,以便帮助。这是修改后的版本,经过反复试验,我完成了:
#include <string.h>
#include <stdio.h>
int calc_slope(int input1,int input2)
{
int sum=0;
int start=input1;
int end=input2;
int curr=start;
//some validation:
if (input1>input2)
return -1;
while(curr<=end)
{
if (curr>100)
{
char *s="";
int length;
int left;
int right;
int cent;
sprintf(s,"%d",curr);
length=strlen(s);
s++; …
Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 Xubuntu 18.04 (Bionic) 并面临这个问题,我想将此报告为启动板上的错误,但想先从这里确认。问题是当我像下面这样向用户添加一个组时,它应该在下次用户登录时生效,对吗?
sudo usermod -aG docker prahlad
Run Code Online (Sandbox Code Playgroud)
从我记得的情况来看,这种行为一直持续到 16.04,但今天我多次退出并重新登录,但是当我通过运行groups
命令查看我的组时,我无法看到 docker 添加到其中。但是,当我创建一个新的 shell 时,我能够看到新组:
su prahlad -
Run Code Online (Sandbox Code Playgroud)
当然,当我完全重新启动我的笔记本电脑时,我能够看到 docker 组。有人可以确认这是否是 Bionic 中引入的新问题吗?或者,它只是在安装 docker 时发生?
我已经使用 Ubuntu 一年多了,因为 Oneiric Ocelot 超出了我的预期,并且提供了大多数开箱即用的东西。但是,Windows 和 Fedora 都提供了一个功能——网络防火墙,它允许我们阻止特定的传入/传出端口,例如 HTTP(80)、FTP(21) 等。我在 Fedora17 上见过它。
由于我要学习一些网络编程,这样的防火墙对我的开发和测试非常有用。
Ubuntu 存储库中是否有任何此类等效(且可靠)的软件包?我知道我无法从 Fedora 存储库中获取任何内容,因为它们是 RPM 格式,也不想弄乱我的 Ubuntu deb 包装。