esql是GBase8s提供的编译工具, 用来编译ESQL/C程序。
esql命令的 -G 参数:
-G 参数: 正常情况下, #line指令会被添加到生成的c文件中,当检测到错误时,C编译器就确定在ESQL/C文件中的正确的行号。-G参数将该功能关闭。
-nln参数:与-G参数的意义相同
执行esql,使用-e -G参数,进行预编译demo3.ec。
[root@localhost esqlc]# esql -e -G demo3.ec
/opt/gbase_p/lib/esql/esqlc -G -t unix demo3.ec
例如,如下代码片段
通过预编译后,生成的代码片段如下, 其中不包含#line指令。
与不使用-G参数,生成的c代码片段,包含#line参数。
通过对比发现, 使用-G参数后, 在生成的c文件中, 不包含#line 指令。
当生成调试版本时, 如果使用-G参数,在使用gdb工具跟踪时, 能够 调试到生成的.c文件中。不使用-G参数时, 能调试ec文件。