Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何与其他开发人员共享代码?(和命名)_C++_Algorithm_Path Finding - Fatal编程技术网

C++ 如何与其他开发人员共享代码?(和命名)

C++ 如何与其他开发人员共享代码?(和命名),c++,algorithm,path-finding,C++,Algorithm,Path Finding,tl;dr I有代码,我认为其他人会觉得有用,但不知道如何将其打包,以便其他人将其包含在他们的项目中并轻松修改 没有分发C++代码的标准方法,但是分发像你这样的小库最简单的方法是将它封装在短的命名空间中,并将其发布到GITHUB/GITLab/ButkSub等。 我会确保包括一个自述文件,解释项目是什么,如何使用它,以及如何构建它。编写构建脚本并将其包含在存储库中的额外积分。算法是一个旅行推销员的问题。看看这个。分享。。。创建一个github帐户并在那里发布回购协议,它将演变成可共享的东西……您

tl;dr I有代码,我认为其他人会觉得有用,但不知道如何将其打包,以便其他人将其包含在他们的项目中并轻松修改

<我是C++新手,创建了一个有效地解决机器人路径问题的算法。该算法在一组点(“节点”)内创建可能的最长路径,有两个限制,即节点仅为单次访问,跳到的下一个节点必须在当前节点的X距离内

在“完成”了bot(学习练习)之后,我决定将寻路算法从bot中删除,并将其打包为一个更通用、更容易理解的代码段,以便在GitHub上托管以供其他人使用

我在寻找如何最好地构建我的“库”的过程中遇到了一个奇怪的困难——可能是因为我更熟悉C++。我不希望它像OpenCV那样是一个DLL,我唯一的另一个例子是.hpp JSON库+谷歌风格指南中的信息

我不确定将我的代码作为头文件(带有概述+使用文档)和CPP(带有更具体的注释)文件分发是否会产生我想要的结果-这就是JSON.hpp工作流-我只需下载文件#include JSON.hpp,然后我就能够调用它的方法



< P>没有分发C++代码的标准方法,但是分发像你这样的小库最简单的方法是将它封装在短的命名空间中,并将其发布到GITHUB/GITLab/ButkSub等。


我会确保包括一个自述文件,解释项目是什么,如何使用它,以及如何构建它。编写构建脚本并将其包含在存储库中的额外积分。

算法是一个旅行推销员的问题。看看这个。分享。。。创建一个github帐户并在那里发布回购协议,它将演变成可共享的东西……您可以查看现有的项目。问题是没有标准的方式来分发或打包C++库,所以你应该自己去解决。除了库文件本身之外,您的repo还应该包含一些测试、一些示例代码和一些关于它是什么的自述说明。另外,不适合有选择权的人。@VTT什么样的测试?像是标准单元测试还是?我不熟悉TDD。与其他语言不同,包管理对于C/C++来说并不是那么简单。虽然有一个软件包管理器,但仍处于初级阶段,名为柯南。。。值得一看。