用Visual Studio(VS)开发UNIX/Linux项目

embedded/2024/12/23 5:23:56/

初级代码游戏的专栏介绍与文章目录-CSDN博客

我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。

这些代码大部分以Linux为目标但部分代码是纯C++的,可以在任何平台上使用。


目录

FTP是免不了的

正确设置头文件

组织项目结构

创建何种项目类型

FTP自动上传

WSL行不行?


        大部分具有Windows开发经验的程序员会比较喜欢使用Visual Studio,而大部分Unix/Linux程序员则喜欢使用UltraEdit直接在主机上写代码(我忽略了直接使用Unix/Linux编写代码的那部分,因为我对此一无所知)。

        为什么直接在主机上写代码呢,因为主机是没有图形界面的,只能通过telnet或ssh访问。所以要么直接在主机上写,要么在windows上写好了再ftp上去,不断重复ftp过程。

        纯linux工作的程序员有没有,应该有,但是我没见过,周围真的没有。

        据说当年有个公司专门给VS开发远程插件,解决这个问题,也不知道这个公司还好吗。

        有些人可能觉得在VS里面写Unix/Linux代码缺很多头文件啊,大堆未识别的符号,不能正确解析代码,无法利用VS的优势,跟记事本也没啥差别。

        其实这也是不对的,没有解决不了的问题,只有懒惰的程序员。

FTP是免不了的

        在VS上不能编译这是肯定的,所以我们就不要纠结这个了,ftp就好了,毕竟,思考的速度比上传速度慢多了(打字的速度也是——这是另外一个话题了)。

        除了不能编译,编辑代码时的所有功能都可以正确使用,基本可以实现代码一次编译通过。

正确设置头文件

        核心就是:正确设置头文件。

        Unix/Linux的头文件不是没有吗?很简单啊,从主机上下载这些头文件,放在一个单独的目录里,然后在项目设置里设置附加的包含目录。如果主机上的标准头文件和windows的不一样,也下载回来,修改VC++目录。

组织项目结构

        对于目录结构,直接使用解决方案资源树的“显示所有文件”,将项目内的文件添加到项目里,不需要的文件排除。

        显示所有文件:

        在文件或目录上点右键,“包括在项目中”,或者“从项目中排除”,可以多选。

创建何种项目类型

        专门的那个什么linux项目,好像是安装的时候单独选择的,具体干啥我也不清楚。鉴于微软对linux的态度不定,没必要使用这种未来不确定的东西,直接使用控制台项目即可。

FTP自动上传

        让FTP监视目录,有变化自动上传,这个功能我感觉应该有,但我没有实践过,毕竟手动比较可靠。

        我以前用过CuteFTP,可以使用脚本上传,一键上传,基本上也解决了需要。这个脚本是VBS的,应该已经过时了。

WSL行不行?

        WSL是windows提供的linux接口,能用。但是不放心。而且代码文件的格式仍然是问题,最终的工作方式和虚拟机相比并没什么不同。安装复杂、兼容性存疑、仍有文本格式区别,除了资源占用可能少一些实在没什么优势。


(这里是结束)


http://www.ppmy.cn/embedded/31571.html

相关文章

NLP Step by Step -- 如何微调一个模型(1)

文章目录 数据处理从模型中心(Hub)加载数据集预处理数据集动态填充 使用 Trainer API 微调模型Training评估 数据处理 这一小节学习第一小节中提到的“如何使用模型中心(hub)大型数据集”,下面是我们用模型中心的数据…

32. 最长有效括号

最朴实解法&#xff1a; class Solution {public int longestValidParentheses(String s) {Stack<Integer> stack new Stack<>();int ans 0;for(int i0;i<s.length();i){if(s.charAt(i) ()stack .push(i);else{if(stack.isEmpty()){stack.push(i);}else{if(…

第 7 章 导航相关消息(自学二刷笔记)

重要参考&#xff1a; 课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ 讲义链接:Introduction Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程 7.3.4 导航之定位 定位相关消息是&#xff1a;geometry_msgs/PoseArray&#xff0c;调用 rosmsg info geomet…

SQL中为什么不要使用1=1?

为什么会使用 11&#xff1f; 在动态构建SQL查询时&#xff0c;开发者可能会不确定最终需要哪些条件。这时候&#xff0c;他们就会使用“11”作为一个始终为真的条件&#xff0c;让接下来的所有条件都可以方便地用“AND”连接起来&#xff0c;就像是搭积木的时候先放一个基座&…

Vue3组合式API + TS项目中手写国际化插件

文章目录 1. 在项目中创建一个国际化插件的文件i18n.ts2. 创建语言模块json3. 注册插件4. 语言切换组件5. 使用插件(ts中使用全局需注意点) 1. 在项目中创建一个国际化插件的文件i18n.ts <!-- plugins/i18n.ts --> export const i18nPlugin {install(app: any, option:…

【数据结构(邓俊辉)学习笔记】列表01——从向量到列表

文章目录 0.概述1. 从向量到列表1.1 从静态到动态1.2 从向量到列表1.3 从秩到位置1.4 列表 2. 接口2.1 列表节点2.1.1 ADT接口2.1.2 ListNode模板类 2.2 列表2.2.1 ADT接口2.2.2 List模板类 0.概述 学习了向量&#xff0c;再介绍下列表。先介绍下列表里的概念和语义&#xff0…

服务网关GateWay原理

文章目录 自动装配核心类GatewayAutoConfigurationDispatcherHandler请求处理阶段apply方法httpHandler#handle方法WebHandler#handle方法DispatchHanlder#handle方法第一步 getHandler获取请求映射第二步 invokeHandler 请求适配第三步 handleResult请求处理总结 上一篇博文我…

【数据库原理及应用】期末复习汇总高校期末真题试卷

试卷 一、填空题 1.________是位于用户与操作系统之间的一层数据管理软件。 2.数据库系统的三级模式结构是指________、________、________。 3.数据库系统的三种数据模型是________ 、________、________。 4.若关系中的某一属性组的值能唯一地标识一个元组&#xff0c;则…