C语言文件管理器只需170行代码

译文 精选
开发
如何用C语言编写文件管理器

  作者丨Sergio Mijatovic

  译者 | 陈豪

  策划丨诺亚

  根据官方介绍,Vely是一种嵌入式编程语言,以C为宿主语言。它被预编译为C,创建一个本机可执行文件。

  简单来看,Vely语句很简单,是在C代码中编写的,因此无需学习有关下面层的任何新知识。Vely应用程序是本地可执行文件,没有解释器或字节码方案,这带来性能高、占用空间小等特点。在本文中Mijatovic将展示如何用Vely来编写文件管理器。

  我将向你展示如何用C语言编写文件管理器,只需170行简单的代码。

  这一过程简洁、高效,如何达成呢?我将使用Vely来实现。

  Vely是C程序员的框架。它基于statement APIs和requests的概念。

应用程序是什么样的?

  用户可以将文件上传到服务器,在带有查看或下载链接的列表中查看它们,最后,可以删除每个文件。

  这是最终结果的样子(你可以添加CSS或设置样式,但它让你满意,这是简单的 HTML):

图片

显示上传文件列表:

图片

Vely文件管理器文件列表

  删除文件首先要求确认:

图片

Vely文件管理器要求删除

  然后继续删除:

图片

前提条件

  你需要安装Vely,你可以使用标准的Linux打包程序,如apt、dnf、zypper或pacman。假如你不想使用它了也可以卸载它,卸载的速度是相当快。

  你还需要安装Apache和PostgreSQL

代码在哪里?

  分步说明位于

  ​​https://vely.dev/example_file_manager.html​

  该示例本身是Vely安装的一部分,因此一旦安装它,除了复制/粘贴命令行之外,你无需编写任何代码。

  这个例子很容易尝试,并且功能强大。动手试一下!

  现在谈谈Vely。正如我所说,Vely允许你使用Statement API来处理HTTP请求。对于Web和命令行应用程序都是如此。

Statement API

  Statement API是一个声明性语句,它执行一些有用的操作,例如查询数据库、写入文件、解析JSON文件、执行程序。

  它通过生成C代码来做到这一点。不过,这不像宏。在编译时更多内容进入statement API,以便开发人员有更好体验。

  这是一个代码示例:

图片

Vely源代码

Requests

  Vely通过全面处理Web和命令行应用程序的HTTP请求(GET和POST)来工作。

图片

Vely框架

  HTTP请求由URL给出。URL路径具有应用程序名称,唯一需要的参数(“req”)具有处理它的.vely文件的名称。非常简单,它有助于一目了然地理解请求应用程序所服务的内容。

图片

Vely request流程

  原文链接:​​https://hackernoon.com/making-a-file-manager-in-c-in-just-170-lines-of-code​

译者简介

  陈豪,51CTO社区编辑,具有6年工作经验的高级系统工程师。擅长技能有Linux内嵌汇编语言,Python,C,C++,Java,Linux内核分析,智能机器人软件设计等。

责任编辑:张洁 来源: 51CTO技术栈
相关推荐

2022-07-11 07:31:12

massCode开源工具

2011-09-05 19:03:47

UbuntuNautilus

2012-06-04 10:02:19

Linux文件管理器

2023-02-06 17:37:01

LinuxSpaceFM文件管理器

2023-02-13 08:39:03

GNOME 2LinuxCaja

2018-09-17 11:12:14

Linux文件管理器加密文件

2021-11-20 22:20:10

Windows 11Windows微软

2010-12-28 14:53:29

服务器管理器

2013-03-26 11:11:38

Windows Blu文件管理器

2022-12-17 16:57:18

Linux文件管理器

2009-05-25 09:57:10

Ajax文件管理Web开发

2023-02-27 16:40:19

ArkUI组件文件管理器

2018-11-12 09:30:49

Linux命令文件管理器

2021-12-29 14:43:58

Linux服务管理器systemd

2019-09-05 09:08:53

Android TV文件管理器应用软件

2014-02-24 15:26:39

开源文件管理器

2009-02-01 10:17:22

布局管理器LayoutManagGUI

2013-03-29 12:52:14

Android位置管理

2020-12-25 07:41:36

KubernetesOpenKruise应用

2011-12-16 13:27:16

360文件管理
点赞
收藏

51CTO技术栈公众号