码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • glib编程1:hello world


    前言

            一篇入门教程

    一 安装glib包

    sudo apt-get install libglib2.0-dev

    二 写代码

    1. #include
    2. int main(void)
    3. {
    4. g_print("Hello, world!\n");
    5. return 0;
    6. }

    三 写Makefile

    1. LINK_INCLUDE += -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
    2. LINK_INCLUDE += -I/usr/include/glib-2.0/
    3. app1:
    4. gcc main.c -lglib-2.0 $(LINK_INCLUDE) -o app1
    5. app2:
    6. gcc main.c `pkg-config --cflags --libs glib-2.0` -o app2
    7. install_help:
    8. sudo apt-get install libglib2.0-doc
    9. sudo apt-get install devhelp
    10. .PHONY:doc
    11. doc:
    12. $(shell devhelp)
    13. .PHONY:clean
    14. clean:
    15. rm -f *.o app1 app2

    四 测试验证

    1.make app1

    1. $ make app1
    2. gcc main.c -lglib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/glib-2.0/ -o app1
    1. $ ./app1
    2. Hello, world!

    2 make app2

    1. $ make app2
    2. gcc main.c `pkg-config --cflags --libs glib-2.0` -o app2
    1. $ ./app2
    2. Hello, world!

    五 分析分析

    make app1和app2都是编译main.c,区别如下

    1 接库的方式不同,make app1 直接使用-l选项链接库,make app2 使用`pkg-config --cflags --libs glib-2.0`链接库

    2 make app1 需要使用-I额外添加头文件路径,make app2不需要额外添加头文件路径

    3 make app1 方式适合链接自己编译的glib库,例如嵌入式编译。

    4 make  app2 方式只能使用在主机中安装的glib库。

    六 帮助文档

    安装帮助文档

    sudo apt-get install libglib2.0-doc

    安装帮助文档阅读工具

    sudo apt-get install devhelp

    运行devhelp,verygood.

     总结

            完成。

  • 相关阅读:
    HDMI线连接显示器后色彩灰暗问题解析与解决方案
    第五十八章 CSP的常见问题 - HTTP请求失败
    [附源码]java毕业设计流浪动物救助网站
    MinIO Server配置NGINX代理官网文档翻译
    如何零基础自学 Python ?听我娓娓道来
    【深度学习】数学基础
    深剖 C++ 继承——十分钟手撕C++
    【读书笔记】【More Effective C++】操作符(Operators)
    零基础自学javase黑马课程第三天
    基于左逆的三点法测距,MATLAB函数
  • 原文地址:https://blog.csdn.net/yueni_zhao/article/details/126763010
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号