我试图找出 pgRouting 中 shortest_path() 的实现是如何工作的。
这是函数定义:
CREATE OR REPLACE FUNCTION shortest_path(sql text, source_id integer,target_id integer, directed boolean, has_reverse_cost boolean)
RETURNS SETOF path_result AS '$libdir/librouting', 'shortest_path'
LANGUAGE c IMMUTABLE STRICT
COST 1
ROWS 1000;
ALTER FUNCTION shortest_path(text, integer, integer, boolean, boolean) OWNER TO postgres;
我的问题是:
- 它如何调用 .c 文件以及如何将参数传递给它(我相信它是 dijkstra.c 文件,对吗?)
- 如何获取该 .c 文件并使用它所具有的调试信息对其进行编译,以便查看它是如何工作的,以便我能更好地理解它?