当前位置: 首页 > news >正文

百度门户网站外国个人主页网站欣赏

百度门户网站,外国个人主页网站欣赏,教务处网站建设,大连模板网站制作报价文章目录 前言代码仓库需求介绍代码说明文件结构核心片段 拓展总结参考资料作者的话 前言 环境编程代码实例#xff1a;“加/卸载” Zend Framework 2。 代码仓库 yezhening/Environment-and-network-programming-examples: 环境和网络编程实例 (github.com)Environment-and… 文章目录 前言代码仓库需求介绍代码说明文件结构核心片段 拓展总结参考资料作者的话 前言 环境编程代码实例“加/卸载” Zend Framework 2。 代码仓库 yezhening/Environment-and-network-programming-examples: 环境和网络编程实例 (github.com)Environment-and-network-programming-examples: 环境和网络编程实例 (gitee.com) 需求介绍 现状已存在旧生产项目系统使用 Zend Framework 2基于 PHP 的 Web MVC 框架简称 ZF2 目标简化 ZF2 的配置 内容 将 ZF2 的供应镜像可执行文件加载到内存并映射/解映射到虚拟设备的一个分区将虚拟设备的文件系统挂/卸载到目录 实现 环境FreeBSD服务器语言C/C程序核心执行 Shell 命令程序使用 UNIX - FreeBSD 的系统调用要求可靠尽可能地考虑并处理错误情况 代码 说明 由于代码篇幅较多在博客中直接粘贴并呈现会显得冗长因此未在博客中放置完整代码只展示核心片段代码。请前往代码仓库查看或获取相关代码注释有详细解析 文件结构 文件夹load_ZF2源文件main.cpp可执行文件main说明文件readme.txt配置文件setupvendor.confZF2 的供应镜像文件ZF2VendorImage.bin因为是生产项目未将该文件开源在代码仓库 核心片段 结构体和全局变量 struct SystemFile // 系统文件 {string file_name; // 文件名称string virtual_dev; // 挂载设备号string mount_dir; // 挂载目录 };// const string g_config_file_path(./setupvendor.conf); // 配置文件路径 const string g_config_file_path(/usr/local/etc/setupvendor.conf); // 配置文件路径 const string g_file_num_key(file_num); // 配置文件中系统文件数量的键 string g_file_num_value(); // 配置文件中系统文件数量的值 int g_file_num_value2 0; // 配置文件中系统文件数量的值2const string g_file_name_key(file_name); // 配置文件中系统文件名称的键 const string g_virtual_dev_key(virtual_dev); // 配置文件中虚拟设备号的键 const string g_mount_dir_key(mount_dir); // 配置文件中挂载目录的键 vectorstruct SystemFile g_system_file_vec{}; // 系统文件向量函数 // 在配置文件的一行字符串【键 值换行符】中依据键获取值 void get_key_value(const string line, const string key, string value)// 获取系统文件数量 void get_system_file_num()// 获取系统文件配置 void get_system_file_config()// 执行命令 // 输入命令参数数组参数数量 // 注意execv需要char*const*参数 void exec_cmd(const char *cmd, char *const arg[], const int arg_size)// 挂载文件系统 void mount_file_system()// 卸载文件系统 void umount_file_system()int main(int argc, char *argv[])执行命令函数 // 执行命令 // 输入命令参数数组参数数量 // 注意execv需要char*const*参数 void exec_cmd(const char *cmd, char *const arg[], const int arg_size) {for (int i 0; i arg_size; i){cout arg[i] ;}cout endl;pid_t pid fork(); // 进程号if (pid -1){perror(exec_cmd() fork() error);exit(EXIT_FAILURE);}else if (pid 0){execv(cmd, arg);}// pid ! 0int ret -1; // 系统调用返回结果int status 0; // 进程结束状态ret waitpid(pid, status, 0); // 等待子进程结束状态阻塞等待if ((ret -1) || ((WIFEXITED(status)) (WEXITSTATUS(status) ! 0))){perror(exec_cmd() Execute command error);exit(EXIT_FAILURE);}return; }主函数 int main(int argc, char *argv[]) {// 依据参数判断挂载或卸载文件系统if (argc 3){cerr main() Argument number error endl;exit(EXIT_FAILURE);}if ((argc 2) (((strncmp(argv[1], umount, 6)) ! 0))){cerr main() Invalid argument error endl;exit(EXIT_FAILURE);}get_system_file_num(); // 获取系统文件数量get_system_file_config(); // 获取系统文件配置if ((argc 2) (((strncmp(argv[1], umount, 6)) 0))) // 有2个参数且第二个是umount则卸载文件系统{umount_file_system();return 0;}mount_file_system(); // 默认1个参数挂载文件系统return 0; }拓展 该份实例实际上是在 UNIX/FreeBSD/Linux 环境使用 C/C 程序执行 Shell 命令的特例版本看懂代码后稍加修改该份实例可以成为通用版本 总结 环境编程代码实例“加/卸载” Zend Framework 2。 参考资料 《UNIX环境高级编程第3版》作者W.Richard StevensStephen A.Rago 作者的话 感谢参考资料的作者/博主作者夜悊版权所有转载请注明出处谢谢~如果文章对你有帮助请点个赞或加个粉丝吧你的支持就是作者的动力~文章在描述时有疑惑的地方请留言定会一一耐心讨论、解答文章在认识上有错误的地方, 敬请批评指正望读者们都能有所收获
http://www.sadfv.cn/news/130283/

相关文章:

  • 专注专业网站建设易思网站管理系统
  • 建设银行e路护航官方网站登陆网游推广
  • wordpress建站阿里云怎样做商城网站
  • 旅游圈wordpress主题手机清理优化软件排名
  • 太原推广型网站开发做网站要多钱
  • 利用wix建手机网站京东的电子网站建设
  • 如何做网站流量报告局域网视频网站开发
  • 生鲜配送网站建设wordpress 网站积分打赏
  • 建设通网站怎么样网站推广费用预算
  • 制作网站公司首 荐乐云seo专家百度搜索排名服务
  • 分类信息网站程序2022近期时事热点素材
  • 福州做网站开发需要多少钱东莞网站建设 食品厂
  • 如何做原创小说网站哈密市住房和城乡建设局网站
  • 做网站能接到模具单吗深圳做app网站
  • 湖南网站推广公司腾云网站建设
  • 美工常用找素材网站html5建设网站
  • 做网站搭建需要什么人西服定制一般多少钱
  • html5 网站布局应用教程公司做一个网站如何定位
  • 买网站源码的网站网站建设案例 算命网站
  • 上海网站设计团队怎么查网站icp备案
  • 美食网站建设页面要求做网站用的字体
  • 信息网站建设汇报wordpress提交360
  • 做企业英语网站要注意哪些百度的营销中心上班怎么样
  • 广州越秀区租房温岭新站seo
  • seo网站推广的主要目的是什么微信开发商
  • 上海各区的网站有哪些公司深圳网站建设软件开发公司
  • 网站制作设计专业公司广州网站建设公司网络安全优化
  • 网站开发语言 知乎温州市名城建设集团有限公司网站
  • 登封市城乡建设路网站社群网站建设
  • 企业网站建设的文章广州网站推广服务商