极速网站建设定制价格工作室创业项目

张小明 2025/12/23 3:42:39
极速网站建设定制价格,工作室创业项目,wordpress架设教程视频,wordpress后台没有模板格式介绍 - AppImageAppImage 是 Linux 系统中一种新型的软件包格式#xff0c;它与 rpm、deb 这些软件包格式相比最大的不同便是#xff1a;#xff08;1#xff09;无需安装#xff0c;即用即删。#xff08;2#xff09;只需打包一次#xff0c;便可到处运行。完美的…格式介绍 - AppImageAppImage 是 Linux 系统中一种新型的软件包格式它与 rpm、deb 这些软件包格式相比最大的不同便是1无需安装即用即删。2只需打包一次便可到处运行。完美的解决了不同 Linux 发行版Ubuntu/Debian/Fedora/CentOS之间软件包不统一的问题。它的工作原理便是将程序运行所需的文件全部打包在一个文件中待程序运行时再将这些文件提取在 /tmp/.mount_xxxxxxx/ 目录中然后执行 AppRun 脚本启动程序以进行资源的调用。以下便是一个 AppImage 文件内部包含的目录树结构AppDir/├── AppRun├── 应用图标.png├── 程序名.desktop├── usr/├── bin/├── lib/├── share/它本质上就是一个 squashfs 文件系统 runtime 执行器。特别注意1要实现跨平台运行待打包的程序最好是在 CentOS 7 系统上进行编译 然后再进行打包。【注编译 C/C 程序所使用的系统库 glibc 在 Linux 系统上几乎肯定存在而该库有着良好的向后兼容性因此使用旧版本的 glibc 库编译出来的程序几乎可以完美的运行在新版本的 glibc 系统上。而在 CentOS 7 上的 glibc 版本是 2.17该版本较旧且兼容性较好因此在其系统上编译出来的 C 程序通常也可以在大部分的 Linux 发行版系统中使用。】2待打包程序依赖的 lib 文件中最好只包含其专属的库文件即可不要包含类似 glibc 这样的系统库文件。【注这是因为在 A 系统中的 glibc 文件通常并不可以在 B 系统中使用因此为了避免 AppImage 程序运行错误请勿这样去做。再者glibc 在 Linux 系统中是肯定会存在的因此也并不需要额外去包含这样的依赖文件。】手动打包 - appimagetoolappimagetool 是由 AppImage 官方制作的打包工具在使用它进行打包时必须要先分析待打包程序的动态库依赖情况然后再完成对 AppDir 目录的装填最后才能使用 appimagetool 完成对程序的打包。由于分析程序的依赖情况是个很复杂的问题因此该工具在使用上体验并不太好。接下来我将演示如何对一个简单的 C 程序完成打包过程1文件准备hello.c。// 主文件 hello.c#include stdio.hint main() {printf(Hello Appimage\n);return 0;}2编译并打包#1编译及检验运行gcc -o hello hello.c./hello#2制作 AppDir 目录树mkdir -p AppDir/usr/bin/cp ./hello AppDir/usr/bin/wget https://github.com/boolean-world/appimage-resources/blob/master/hello-world-appimage/hello-world-icon.png -O AppDir/hello.png #任意图片文件即可nano AppDir/hello.desktop #文件内容见下方nano AppDir/AppRun #脚本内容见下方#3开始制作 AppImage 程序/root/appimagetool-x86_64.AppImage AppDir/附注:hello.desktop 文件如下[Desktop Entry]NamehelloExechelloIconhelloTypeApplicationCategoriesUtility;TerminaltrueAppRun 脚本如下#!/bin/shAPPDIR$(dirname $(readlink -f $0))# 添加库目录if [ -d $APPDIR/lib64 ]; thenexport LD_LIBRARY_PATH$APPDIR/lib64:$LD_LIBRARY_PATHfiif [ -d $APPDIR/usr/lib ]; thenexport LD_LIBRARY_PATH$APPDIR/usr/lib:$LD_LIBRARY_PATHfi# 启动主程序 //注意不同应用主程序路径需要修改exec $APPDIR/usr/bin/hello $AppDir 目录树结构如下AppDir/├── AppRun //启动程序可以是简单的脚本也可以是 ELF只要保证运行该脚本主程序能被启动即可。├── hello.desktop //注意 EXEC 的值它对应的是/usr/bin/目录中的程序而 Icon 对应的是当前目录├── hello.png //也支持 svg 格式└── usr└── bin└── hello自动打包 - linuxdeploylinuxdeploy 是一个由第三方制作的 AppImage 打包工具与 appimagetool 不同的是它可以对待打包程序自动进行依赖分析并自动将所需的依赖及资源文件按照 AppDir 的目录格式给装填完毕用户只需将模版化的 desktop 文件和 icon 文件准备好即可使用起来简直美滋滋。【示例一】接下来我将演示如何对一个需要依赖的简单 C 程序完成打包过程1文件准备mylib.h、mylib.c、main.c、Makefile。// 动态库头文件 mylib.h#ifndef MYLIB_H#define MYLIB_Hint add(int a, int b);void hello();#endif// 动态库源码 mylib.c#include stdio.h#include mylib.hint add(int a, int b) {return a b;}void hello() {printf(Hello from my dynamic library!\n);}// 主程序 main.c#include stdio.h#include mylib.hint main() {hello();int result add(3, 5);printf(3 5 %d\n, result);return 0;}# Makefile 文件CCgccCFLAGS-fPIC -WallLDFLAGS-sharedTARGET_LIBlibmylib.soTARGET_MAINmainall: $(TARGET_LIB) $(TARGET_MAIN)$(TARGET_LIB): mylib.o$(CC) $(LDFLAGS) -o $(TARGET_LIB) mylib.omylib.o: mylib.c mylib.h$(CC) $(CFLAGS) -c mylib.c$(TARGET_MAIN): main.o $(TARGET_LIB)$(CC) main.o -L. -lmylib -o $(TARGET_MAIN)main.o: main.c mylib.h$(CC) -c main.cclean:rm -f *.o $(TARGET_MAIN) $(TARGET_LIB)2编译并打包#1编译及检验运行cd myappmakemv libmylib.so /lib64/libmylib.so./main#2制作的 main.desktop 文件内容cat main.desktop[Desktop Entry]NamemainExecmainIconmainTypeApplicationCategoriesUtility;Terminaltrue#3获取一个 Icon 文件wget https://github.com/boolean-world/appimage-resources/blob/master/hello-world-appimage/hello-world-icon.png -O main.png#4开始制作 AppImage 程序/root/linuxdeploy-x86_64.AppImage --appdir /root/myapp --output appimage --icon-file main.png --desktop-file main.desktop -e mainls -l main*.AppImage【示例二】最后我再演示如何对一个系统命令 find 完成打包过程#1制作的 find.desktop 文件内容cat find.desktop[Desktop Entry]NamefindExecfindIconfindTypeApplicationCategoriesUtility;Terminaltrue#2获取一个 Icon 文件wget https://github.com/boolean-world/appimage-resources/blob/master/hello-world-appimage/hello-world-icon.png -O find.png#3开始制作 AppImage 程序cd $(dirname $(which find))/root/linuxdeploy-x86_64.AppImage --appdir /root/find --output appimage --icon-file find.png --desktop-file find.desktop -e findls -l find*.AppImage注意1建议将 icon 和 desktop 文件放置在 find 命令根目录下这样在打包的时候能够避免很多问题。2由于 linuxdeploy 在打包环节调用的是 appimagetool而 appimagetool 在打包的时候会在 github 上拉取 runtime 文件因此在使用前建议设置全局代理以确保 github 可访问。杂七杂八AppImage 参考官网、参考文档、软件分发linuxdeploy 插件系统awesome-linuxdeploy插件 linuxdeploy-plugin-checkrt 在打包较复杂的 C 程序时可能会比较有用。理想的编译环境CentOS 7 x64、CentOS 6 x32。【注意64 位系统打包出的 AppImage 不可在 32 位系统使用。 】pkg2appimage 工具支持将 deb 软件包转换给 AppImage 格式的软件包。【注理论是美好的但实际打包时失败率太高且太折腾不推荐使用还是老实用 linuxdeploy 吧。】已打包的 AppImage 软件包可通过 ./app*.AppImage --appimage-extract 将其包含的文件重新提取出来以供参考或重复打包。*全局代理设置export http_proxyhttp://192.168.56.1:7890export https_proxyhttp://192.168.56.1:7890export no_proxy192.168.56.1,localhostexport HTTP_PROXYhttp://192.168.56.1:7890export HTTPS_PROXYhttp://192.168.56.1:7890export NO_PROXY192.168.56.1,localhost
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设 图片问题河北石家庄天气

基于光线步进的体积光 2025年4月16日12:59:42 体积光是在体积云的基础上完成的。 首先我们要解决一个问题,我的光的颜色是怎么出来的? 回顾一下体积云,体积云的颜色,是射线上的float叠加出来的,那么体积光也是这样&…

张小明 2025/12/22 17:15:01 网站建设

深圳网站搜索优化工具dw软件主要做什么

Obsidian Ink 终极指南:在数字笔记中重拾手写乐趣 【免费下载链接】obsidian_ink 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian_ink 还在为数字笔记缺乏个性而烦恼吗?Obsidian Ink 插件正是您需要的解决方案。这款革命性的插件将传统手…

张小明 2025/12/22 19:36:13 网站建设

郑州 发布会seo推广培训资料

手把手教你部署Langchain-Chatchat实现文档自动回答 在企业知识管理日益复杂的今天,员工常常需要花费大量时间查找制度文件、产品手册或合规条款。而当一个新员工提问“年假怎么申请?”时,HR却要翻遍多个PDF和内部Wiki才能给出答案——这种低…

张小明 2025/12/21 16:08:33 网站建设

如何增加网站pr值常青花园做网站的公司

MySQL 主从复制 MySQL主从负载至少需要2台数据库服务器,其中一台为master库,另外一台为slave库,MySQL主从数据同步时一个异步复制的过程,要实现负载首先需要在master 上开启bin-log 日志功能,bin-log日志用于记录在master 库中执行的增、删、修改、更新操作的SQL语句,真…

张小明 2025/12/22 23:40:21 网站建设

制作介绍的网站模板免费下载做网站放网站广告

屏幕前的光标已闪烁了两个小时,引言的第一段还是只有短短三行,而参考文献列表里几篇刚下载的PDF,其实根本没来得及细读。这并非某位研究者的特例,而是众多期刊论文写作者共同的困境。对期刊论文而言,顶级的质量是唯一的…

张小明 2025/12/23 4:26:13 网站建设

黑龙江新闻媒体求助电话朝阳seo网站建设

Ursa.Avalonia控件库:打造无障碍的企业级跨平台应用 【免费下载链接】Ursa.Avalonia Ursa是一个用于开发Avalonia程序的控件库 项目地址: https://gitcode.com/IRIHI_Technology/Ursa.Avalonia 在当今数字化时代,构建包容性用户体验已成为衡量软件…

张小明 2025/12/21 16:02:25 网站建设