[swift-users] C compatible structs
KS Sreeram
ks at claylabs.com
Mon Aug 1 06:20:21 CDT 2016
Hello
Is it possible to declare Swift structs that have C compatible memory layout?
In the code below, Foo and Bar have different sizes in Swift and C. Is it possible to make the Swift structs have the same layout as their C counterparts?
// Swift
struct Foo {
var x: Int32;
var a: Int8;
}
struct Bar {
var foo: Foo;
var b: Int8;
}
print(sizeof(Foo)); // output: 5
print(sizeof(Bar)); // output: 6
// C
typedef struct {
int x;
char a;
} Foo;
typedef struct {
Foo foo;
char b;
} Bar;
int main() {
printf("%lu\n", sizeof(Foo)); // output: 8
printf("%lu\n", sizeof(Bar)); // output: 12
return 0;
}
Best
KS Sreeram
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-users/attachments/20160801/be6e103e/attachment.html>
More information about the swift-users
mailing list