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

2022-11-06
关注

  作者丨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内核分析,智能机器人软件设计等。

您觉得本篇内容如何
评分

相关产品

Burkert 宝得 436475 流量控制器

多语言,菜单驱动设置。液体和开关之间没有接触。保护极性和反接。1200 L \/min电气连接=电缆插头,旋转5针M12插头控制输出=继电器安装样式=紧凑型供电电压=12-30 V直流电显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度电气连接=电缆插头,旋转5针M12插头控制输出=继电器安装样式=紧凑型供电电压=12-30 V直流电显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度=+60°C

WIKA 威卡 T24.10.2P6-ZF RTD温度变送器

6种用户语言的配置软件WIKA TT。紧凑的设计。灵活可靠输入类型=2线,3线,PT100供电电压=10-30 V dc仪表=43 mm最低工作温度=-40°C最高工作温度=+85°C系列=T24Depth=17.6mm

Vaisala 维萨拉 DMT345 and DMT346 温湿度变送器

•宽动态范围  •露点/冰点温度测量范围从-40到+100°C,工作温度高达350°C的独特组合使传感器适用于具有宽温湿度范围的热动态过程。 •方便操作  •使用多语言菜单和键盘以图形方式显示测量数据和趋势,使用户可以轻松监控过去12个月的操作数据、测量趋势和访问测量历史记录。

RS Components 欧时 3704963 流量控制器

多语言,菜单驱动设置。液体和开关之间没有接触。反极性和短路保护。插头最大流量=2-1200 L \/min电气连接=旋转5针M12插头控制输出=PNP安装样式=紧凑型供电电压=12-30 V dc显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度\/min电气连接=旋转5针M12插头控制输出=PNP安装样式=紧凑型供电电压=12-30 V dc显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度=+60°C

安捷伦 Agilent11713C安捷伦11713B射频开关/衰减器 压力计

11713C 11713C Agilent11713C安捷伦11713B射频开关/衰减器 Agilent11713C安捷伦11713B射频开关/衰减器 安捷伦11713B/C专为ATE系统而设计,它可从远程或者前面板上SPDT 开关的组合 或者控制多达 20 个 SPDT 开关 10 微秒响应时间 200 万次使用寿命 远程控制和编程 符合 LXI 标准,可通过全功能的图形网络浏览器界面远程控制和触发 11713C配备 USB 和 LAN 选件的 GPIB 可轻松用于远程集成 标准的 SCPI 编程语言 完全向后兼容 Keysight 11713A 驱动器电源 提供 5V、15V 和 24V 三种电压 用户定义的电压源

Cole-Parmer GO-35639-62 红外线温度计

背光显示屏以F或C显示温度读数;电池电量不足指示;保持、扫描和最大显示持续7秒。显示器上还显示了欠量程和超量程条件。仅在美国和加拿大销售。Fluke 566和568型提供了其他功能,包括创新的图形显示、通过易于选择的内置材料表调节发射率、K型热电偶输入、数据记录,多语言接口,两个背光水平,和一个橡胶外壳,提高了抗冲击,损坏,水和灰尘。

VACUUBRAND, Inc. CVC 3000 真空传感器

带清晰文本菜单(14种语言)的照明图形显示和点动滚轮使其处理几乎不言自明。根据型号的不同,陶瓷隔膜真空传感器和排气阀已经集成(或可外部连接)。陶瓷真空传感器具有高耐化学性,测量气体类型独立且准确。当用于通过操作电磁阀(如VV-B 6C,单独订购)提供两点控制时,会自动建议滞后值。当用于控制VARIO®变速真空泵时,无需编程,只需按一个按钮即可实现全自动蒸发。

Hoffer Flow Controls ACE II 流量计算机,累加器和指示器

♦高级人机界面,128x68图形显示,\ u201c软键。 ♦红外通信接口。(可选) ♦闪存用于字段升级。\ n \ u2666自我诊断。 ♦详细的、简单的语言错误和帮助信息。

Fluke 福禄克 FLUKE-566 数字测温仪

•测量-40°C到650°C(-40°F到1200°F)•使用软键按钮和图形显示轻松访问高级功能•测量远处较小的对象,距离-光斑比为30:1•与大多数类型K热电偶兼容,使您可以保留您的热电偶投资•自信地测量任何类型的表面级背光可以轻松适应照明条件•声光报警器会立即提醒您测量值超出设定范围•可快速识别最小值、最大值、平均值的问题,DIF功能 •包括KTC珠子探针 •自信地排除设备故障,具有1%测量精度•多功能接口,可选择5种语言可选配件

Georg Fischer (GF) 乔治费歇尔 159001110 液体流量计

•盲4毫安到20毫安,数字频率,继电器输出,•即使在脏液体中也能精确测量,•多语言显示菜单,•双向流动,u00e2€¢安装在管道尺寸为DN15至DN900(½ in至36 in)的管道中,u00e2€¢耐腐蚀材料,聚丙烯或聚偏氟乙烯,采用不锈钢、哈氏合金-C或钛,u00e2€¢工作速率范围为0.05至10 m/s(0.15至33 ft/s),•专利磁强计技术,•无活动部件,u00e2磁力计最小流速=0.05 m/s最大流速=10 m/s供电电压=24 V dc管径范围=1/2-4 in连接类型=DN15到DN 100插座最大压力=10.3 bar材料=聚丙烯,不锈钢最低介质温度=0°C

评论

您需要登录才可以回复|注册

提交评论

提取码
复制提取码
点击跳转至百度网盘