我不是在问关于何时连接不同的编程语言.
这是一个非常普遍的问题,但我个人在Linux上工作.
我想要理解的是可以组合不同编程语言的过程,我发现了一篇关于组合C/C++/Fortran的好文章:http: //www-h.eng.cam.ac.uk/help/tpl/ languages/mixinglanguages.html.
据我所知,大多数编译器执行两个阶段:
将语言文件转换为包含机器代码但仍包含一些符号(可能是函数名称?)的目标文件
将目标文件链接在一起,仅在此阶段,链接器检查目标文件中的函数是否可调用.
我认为组合不同语言的问题是名称错误,这意味着函数的名称在转换为目标代码时会发生变化.
问题是:
你不能以某种方式预先发现受损的函数名称,而不是在编程语言中明确地指定它们或更好地关闭它们,是不是已经有这样的软件?
我不完全理解动态库是如何链接的,但是不同的语言可以通过程序与动态库交互的相同方法进行交互?
ps主要目的是调用用另一种语言编写的函数.
我正在建立一个网站,其中包含每个国家和城市的网址以及餐馆名称.
(www.domain.com/country/city/restaurant-name)
我知道如何为它重写Apache,
问题是如何使它尽可能高效wuth php.
现在我所做的是首先宣布一个二维的国家和城市阵列:
$countries = array("United-Kingdom"=>array("Bristol","London"),
"Italy"=>array("Rome","Milan","Napoli"));
Run Code Online (Sandbox Code Playgroud)
比我检查城市是否存在:
if (isset ($countries[$page])
Run Code Online (Sandbox Code Playgroud)
然后我对城市使用in_array函数,在数据库中查找餐馆名称.
一系列国家和城市非常庞大,所以我想知道是否有更有效的方法.
我虽然可能为每个国家制作一个php文件并尝试包含它,并在每个php文件中包含城市数组.并可能设置一个将更新文件的cron作业.
我想知道这是最有效的方法,它将使用最少的处理CPU使用率并使服务器尽可能快地为页面提供服务.