]> git.lizzy.rs Git - rust.git/blob - src/test/run-make/raw-dylib-c/lib.rs
74e0d3813d9462dad366b341911f5b07058ace55
[rust.git] / src / test / run-make / raw-dylib-c / lib.rs
1 #![feature(raw_dylib, native_link_modifiers_verbatim)]
2
3 #[link(name = "extern_1.dll", kind = "raw-dylib", modifiers = "+verbatim")]
4 extern {
5     fn extern_fn_1();
6 }
7
8 #[link(name = "extern_2", kind = "raw-dylib")]
9 extern {
10     fn extern_fn_3();
11 }
12
13 pub fn library_function() {
14     #[link(name = "extern_1", kind = "raw-dylib")]
15     extern {
16         fn extern_fn_2();
17         fn print_extern_variable();
18         static mut extern_variable: i32;
19     }
20
21     unsafe {
22         extern_fn_1();
23         extern_fn_2();
24         extern_fn_3();
25         extern_variable = 42;
26         print_extern_variable();
27         extern_variable = -42;
28         print_extern_variable();
29     }
30 }
31
32 fn main() {
33     library_function();
34 }