XTP.rs 来源于: https://github.com/dovahcrow/xtp-rs 一、从RUST ->C++: 当Rust需要把指令传入XTP中时,以register_spi为例 1、rust中.rs文件中 let mut api = QuoteApi::new(1, &args.path, XTPLogLevel::Trace); info!("XTP Version: {:?}", api.get_api_version()); info!("Trading Day: {:?}", api.get_trading_day()); api.register_spi(MySpi); 2、quote_api.rs pub fn register_spi<T: QuoteSpi>(&mut self, spi: T) { let trait_object_box: Box<Box<dyn QuoteSpi>> = Box::new(Box::new(spi)); let trait_object_pointer = Box::into_raw(trait_object_box) as *mut Box<dyn QuoteSpi> as *mut c_void; let quote_spi_stub = unsafe { QuoteSpiStub::new(trait