用VS编译FCL

用VS编译FCL,第1张

FCL是一个在由三角形组成的几何模型上执行三种近似查询的库。

FCL最低要求是VS2015,我这里用的是VS2019。

https://github.com/flexible-collision-library/fcl

http://eigen.tuxfamily.org/index.php?title=Main_Page

https://github.com/danfis/libccd

http://octomap.github.com

选择默认设置即可。

在生成FCL之前需要修改CMakeLists.txt文件,分别把Eigen\libccd\octomap的路径加上:

用CMake进行Generate时会报错,可忽略:

双击打开E:\FCL\project\libccd-master\build里的libccd.sln,所有库的编译都统一用Debug|x64,开始编译:

双击打开E:\FCL\project\octomap-devel\build里的octomap-distribution.sln,开始编译

双击打开E:\FCL\project\fcl-master\build里的fcl.sln,开始编译

选中项目test_fcl_box_box,右键选中设为启动项目:

将ccd.dll从E:\FCL\project\libccd-master\build\src\Debug拷贝到文件夹E:\FCL\project\fcl-master\build\test\Debug,运行程序:

CLR常用简写词语,CLR是公共语言运行时,Common Language Runtime)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层 *** 作系统之间必要的分离。

.net框架中包括有一组.net框架类库(Framework Class Library,简称FCL)程序集,其中含 有几千个类型的定义,每个类型都提供了某种功能。

IL又称为(interpretative language 解释语言),我们.NET开发人员必定离不开IL,就算您没有学习,也一定可以在各处看到它的身影。而且IL也是.NET唯一懂得的语言,我们每天其实都在使用着ILIL是中间层语言

上层代码编译完成后都要转换为中间语言供CLR使用

IL为Intermediate Language

有时候也叫Microsoft Intermediate Language

中间语言使得在.Net中各种语言的方便交互成为了可能。

assembly, 这里把它翻译为配件, 以示和组件(Component)加以区别.

一个配件有时候是指一个EXE或者DLL文件, 实际上是一个应用程序(就是指带有主程序

入口点的模块)或者一个库文件. 但是配件实际上可以是由一个或者多个文件组成

(dlls, exes, html等等), 代表一组资源, 以及类型的定义和实现的集合. 一个配件也可

以包含对其它配件的引用. 所有这些资源、类型和引用都在一个列表(manifest)中描述?nbsp

U飧鳇anifest也是配件的一部分,所以配件是一个自我描述的,不需要其它附加的部件

对其描述!配件的另一个重要特性是,它是.Net环境下类型标识的一部分,也可以说

是基本单位。因为,区分一个类型的标识就是包含这个类型的配件名字加上类型名本身。

举个例子,配件A定义了类型T, 配件B也定义了同名类型T,但是.Net把这两个类型认为是

不同的类型。 注意,不要把配件(assembly)和名字空间(namespace)混淆起来。其实

名字空间仅仅是用来把类型名用树的形式组织起来的手段。对于运行是环境来讲,类型名

就是类型名,和名字空间一点关系都没有。 总之,记住配件名加上类型名唯一标识一个

运行时类型。 另外,配件也是.Net框架用于安全策略的基本单位,许多安全策略都是

基于配件的。

官方解释:

The .NET Framework (pronounced as "dot net") is a proprietary software framework developed by Microsoft that runs primarily on Microsoft Windows. It was the predominant implementation of the Common Language Infrastructure (CLI) until being superseded by the cross-platform .NET project. It includes a large class library called Framework Class Library (FCL) and provides language interoperability (each language can use code written in other languages) across several programming languages. Programs written for .NET Framework execute in a software environment (in contrast to a hardware environment) named the Common Language Runtime (CLR). The CLR is an application virtual machine that provides services such as security, memory management, and exception handling. As such, computer code written using .NET Framework is called "managed code". FCL and CLR together constitute the .NET Framework.

.NET框架(读作 "dot net")是微软开发的一个专有软件框架,主要在微软的Windows上运行。在被跨平台的.NET项目取代之前,它是通用语言基础设施(CLI)的主要实现方式。它包括一个被称为框架类库(FCL)的大型类库,并在几种编程语言之间提供语言互 *** 作性(每种语言都可以使用用其他语言编写的代码)。为.NET框架编写的程序在一个名为通用语言运行时(CLR)的软件环境(与硬件环境相反)中执行。CLR是一个应用程序虚拟机,提供安全、内存管理和异常处理等服务。因此,使用.NET框架编写的计算机代码被称为 "托管代码"。FCL和CLR共同构成了.NET框架。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11367258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存