blob: 5fb1204037c933e3168b844231cb006f971f658f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#![feature(raw_dylib)]
#[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")]
extern {
fn extern_fn_2();
fn print_extern_variable();
static mut extern_variable: i32;
#[link_name = "extern_fn_4"]
fn extern_fn_4_renamed();
}
unsafe {
extern_fn_1();
extern_fn_2();
extern_fn_3();
extern_fn_4_renamed();
extern_variable = 42;
print_extern_variable();
extern_variable = -42;
print_extern_variable();
}
}
fn main() {
library_function();
}
|