簡體   English   中英

C ++符號和Q符號不匹配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM