• 第一次Linux编程,值得留念


        今天,看了一下《Linux系统应用与开发教程》的“GCC的使用与开发”部分,自己接触Linux也不短时间了,只不过真正弄懂Linux的东西还少,现在就来玩玩Linux编程。
        前两天才安装的Fedora 7.0正式版,启动系统后,新建一个空文件helloworld.c,敲入程序初学者使用的最简单程序代码(虽然我学C已经有两年多了^_^)

    #include<stdio.h>
    void main()
    {
        printf("Hello World!"n");
    }

    保存后在终端里输入命令“gcc helloworld.c -o helloworld”,马上回车,心想自己的第一个Linux程序就要诞生了,噢,My god,谁知出来的是错误提示,说main函数没有返回int型,但上面的代码在VC里是可行的。无办法,改为

    #include<stdio.h>
    int main()
    {
        printf("Hello World!"n");
        return 0;
    }

    再执行生成命令,这次什么也没提示,成功了,哈哈~~~接着当然是运行自己的第一个Linux程序看看结果啦,在终端里输入“helloworld”,噢,My god,提示没有此命令,明明程序就在当前目录啊,看看书上怎么写的,终于发现需要这样写命令“./helloworld”,回车,终于打印出 “Hello World!”了。虽然自己写程序将近三年,但在Linux上连打印“Hello World!”还是遇到麻烦,这就是没有动手的原因。


    接着写个有意思点的——窗体程序,按照书上使用GTK+,把helloworld.c代码改成

    #include<gtk/gtk.h>
    void on_btn_clicked(GtkWidget *widget, gpointer data)
    {
      g_print("Hello World!"n");
    }
    void on_delete(GtkWidget *widget, GdkEvent *event, gpointer data)
    {
      g_print("Window Closed."n");
      gtk_main_quit();
    }
    int main(int argc, char *argv[])
    {
      GtkWidget *window;
      GtkWidget *button;
      gtk_set_locale();
      gtk_init(&argc, &argv);
      window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_container_set_border_width(GTK_CONTAINER(window), 10);
      g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(on_delete), NULL);
      button = gtk_button_new_with_label("Hello World");
      g_signal_connect(G_OBJECT(button), "clicked", G_CALLBACK(on_btn_clicked), NULL);
      gtk_container_add(GTK_CONTAINER(window), button);
      gtk_widget_show_all(window);
      gtk_main();
      return 0;
    }

        全是那么长的函数名,还有那么多的下划线,看了有点眼花,终于自己打错了两个单词,经编译时才提示的。当我打好代码后,按照书上所说的命令“gcc helloworld.c -o helloworld 'pkg-config gtk+-2.0 --cflags --libs'”,回车后却提示什么无“pkg-config gtk+-2.0 --cflags --libs”,摸不着头脑,书上说输入“pkg-config gtk+-2.0 --cflags --libs”可以检查它的输出结果,输入回车确实出来一堆字符,有什么用不知道。再试上面的编译命令,还是同样的错误,怎么回事?是不是书上排版写错命令了?马上打开Firefox,百度了一下,看到别人使用的命令和我打的有点小小的不同,就是那个单引号,我打的是正规的英文单引号,而别人用的却是向右斜的“单引号”,怎么那么奇怪?书上也是说使用一对反向单引号,我找不着什么反向单引号在哪输入,就把别人的Copy过来,变成“gcc helloworld.c -o helloworld `pkg-config gtk+-2.0 --cflags --libs`”,复制命令到终端,回车,等了一会,最后什么结果都没有,呵呵,成功啦!~~~原来真的是那个什么反向单引号的问题,我再试了一下键盘,还是找不着什么反向单引号。算了,不理,执行第一个Linux窗体程序看看,输入“./helloworld”,回车,哈哈,窗体出来啦,只有一个很丑的按钮,很小的窗体,差点找不着它出现在哪里,按最大化更怪,因为那个按钮也跟着变大了,哈哈~~~

        第一次Linux编程是这样的失败,呼!重启回到Windows 2003,写下这篇文章……(哦,对了,那个反向单引号在这个时候给我看到了,是一个非常少用的符号,也在一个非常少用的按键上面,就是键盘左上角Esc 键下面那个,这个叫反向单引号,哈哈~~~~)

    (2007-6-10)

  • 相关阅读:
    3D引擎为什么使用三角形绘制曲面
    用SublimeText当Unity Shader的编辑器
    Lua模块的加载与内存释放
    wriesharek同时监听多个端口
    Unity的Input输入
    Unity项目中文字的统一管理
    Unity中的定时器与延时器
    Unity插件扩展中组件常用的几个方法
    u3d不显示阴影的处理方法
    使用ScriptableObject创建.asset文件
  • 原文地址:https://www.cnblogs.com/qiuyi21/p/1089461.html
Copyright © 2020-2023  润新知