2022-02-11 01:08:35 -06:00
|
|
|
#![feature(raw_dylib, native_link_modifiers_verbatim)]
|
2021-03-08 14:42:54 -06:00
|
|
|
|
|
|
|
#[link(name = "extern_1.dll", kind = "raw-dylib", modifiers = "+verbatim")]
|
|
|
|
extern {
|
|
|
|
fn extern_fn_1();
|
|
|
|
}
|
|
|
|
|
|
|
|
#[link(name = "extern_2", kind = "raw-dylib")]
|
|
|
|
extern {
|
|
|
|
fn extern_fn_3();
|
|
|
|
}
|
|
|
|
|
|
|
|
pub fn library_function() {
|
|
|
|
#[link(name = "extern_1", kind = "raw-dylib")]
|
2022-08-02 13:36:41 -05:00
|
|
|
extern {
|
|
|
|
fn extern_fn_2();
|
|
|
|
fn print_extern_variable();
|
|
|
|
static mut extern_variable: i32;
|
|
|
|
}
|
2021-03-08 14:42:54 -06:00
|
|
|
|
|
|
|
unsafe {
|
|
|
|
extern_fn_1();
|
|
|
|
extern_fn_2();
|
|
|
|
extern_fn_3();
|
2022-08-02 13:36:41 -05:00
|
|
|
extern_variable = 42;
|
|
|
|
print_extern_variable();
|
|
|
|
extern_variable = -42;
|
|
|
|
print_extern_variable();
|
2021-03-08 14:42:54 -06:00
|
|
|
}
|
|
|
|
}
|
2022-07-01 15:01:41 -05:00
|
|
|
|
|
|
|
fn main() {
|
|
|
|
library_function();
|
|
|
|
}
|