2013-11-23 32 views
0

我有一個基於c-bison-flex的工作項目。我已經開始爲它建立一個python-tkinter環境,但我陷入了陷阱。 我打算將tkinter的編輯窗口的內容複製到'c'應用程序的緩衝區中。文本傳遞沒有問題,我可以到達'c'函數 - 但是緩衝區地址是未知的。緩衝區由flex'即時'分配。 任何想法解決它? (也許無所謂,但系統是Ubuntu的。)如何將tkinter文本傳遞給flex

回答

1

flex提供了一個接口,用於不同的輸入緩衝器之間切換,包括指定與所述功能的存儲器內輸入緩衝器的可能性yy_scan_stringyy_scan_bytes(見Flex manual對細節)

正如手冊所說,這些例程會複製字符串,所以您仍然不知道flex中字符串的地址。但這確實意味着在創建flex緩衝區後不需要保留字符串,這在與腳本系統進行交互時很方便。