[英]Mismatch between C++ symbols and Q symbols
從C ++代碼返回符號時遇到麻煩。 我做了一個小例子來說明問題。
我們導出以下功能:
extern "C" __declspec(dllexport) K getSym(K x) {
return ks((S)"sym");
}
然后從Q調用它:
q)asdf:(`our_dll 2:(`getSym;1))[1]
q)asdf
`sym
q)asdf = `sym
0b
q)asdf = `$string asdf
0b
q)0N!asdf
`sym
`sym
q)(string asdf) = (string `sym)
111b
為什么兩個值不相等?
這是32位KDB + 3.2。
如果使用2.4之前的q版本,則需要在使用ss()
函數將C字符串傳遞給ks()
之前對其進行內ks()
。 您不會在最新版本中看到此問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.