【问题标题】:A program in C language made by CodeBlocks IDE runs with a double-click in Windows but not in Ubuntu. why?CodeBlocks IDE 制作的 C 语言程序在 Windows 中通过双击运行,但在 Ubuntu 中不运行。为什么?
【发布时间】:2017-09-18 00:48:07
【问题描述】:

我正在学习 C。我使用 Ubuntu 作为主要操作系统,但我也有 Windows 7 用于在另一个分区中进行测试。我已经使用代码块在两个操作系统中用 C 语言编写了一个程序。当我在 Windows 中双击程序的编译文件时,它会运行,但是当我在 Ubuntu 中执行相同操作时,它不会运行。我还为它创建了.desktop 文件,但即便如此它也没有运行。但是使用命令。有人告诉我在其中编写 GUI 代码。那么我如何在其中编写 GUI 代码呢?还有为什么它在 windows 上运行?

./addition

使其在终端中运行。但我想使用 GUI 运行它。我点击了它的图标,但它没有打开。我需要为它编写 GUI 代码吗?

源码是

#include <stdio.h>
int main(){
int a,s,d;


printf("type the values u want to add and give tab between them\n");


scanf("%d %d",&a,&s);

d=a+s;

printf("addition is %d",d);


system("read -p 'Press Enter to EXIT...' var");
return 0;
}

【问题讨论】:

  • 因为当您在 Linux 系统上通过 GUI 运行应用程序时,它没有连接终端,因此没有可读取或写入的内容。不同的操作系统表现不同。
  • 在 Windows 中,为控制台构建的应用程序将在运行时打开一个控制台窗口(如果它们是从资源管理器启动的,则在完成后关闭它)。在其他操作系统中并非如此。
  • 你在设置->环境中选择Gnome therminal吗?How to do.

标签: c linux windows user-interface ubuntu


【解决方案1】:

在 linux 中,如果您从桌面运行 shell 程序,它没有附加标准输入或输出。因此,您看不到任何有关它的信息。

一个快速的解决方案是打开一个终端并从那里运行它。

如果您不知道如何从终端运行程序,有两个简单的选择:

A) 将程序的图标拖入终端,它会自动构建完整路径来运行它

B) 移动到程序的主文件夹并从那里运行它“./programName”

我希望这有助于交配。

【讨论】:

  • 所以你的意思是我不能通过双击它的图标来打开它?或代码 GUI?aslo 我可以为命令“./program name”创建 GUI 吗?
  • 当然你可以创建一个 GUI,但据我从你的代码 sn-p 中可以看出,你正在编写一个传统的终端/Shell 应用程序。最好的方法是从那里运行它。此外,您将能够捕获应用程序生成的标准错误,这在这些应用程序的开发阶段非常重要。
  • 亲爱的朋友,我相信我们可能会跑题。我通常使用 GTK+ gtk.org 在不同平台上开发需要 GUI 的解决方案
  • 什么是 GTK。我爸爸正在谈论那个。但他说你学的太深了。
猜你喜欢
  • 1970-01-01
  • 2019-12-07
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 2017-11-21
  • 2021-07-02
  • 1970-01-01
  • 2023-03-15
相关资源
最近更新 更多