Is there any way to control the code segment an expanded inline class member
or templated function is placed into? For the code below, all functions but
ccc() are placed into _TEXT. Only ccc() is placed into CCC.
Cheers,
Nick
#include <stdio.h>
#define LPCSTR char*
struct A
{
#pragma code_seg(push, "AAA")
LPCSTR aaa() { return "aaa aaa aaa"; }
#pragma code_seg(pop)
#pragma code_seg(push, "BBB")
template<class T>
T bbb(T t) { return t; }
#pragma code_seg(pop)
};
#pragma code_seg(push, "CCC")
__forceinline LPCSTR ccc() { return "ccc ccc ccc"; }
#pragma code_seg(pop)
#pragma code_seg(push, "DDD")
template<class T>
T ddd(T t) { return t; }
#pragma code_seg(pop)
void main()
{
A a;
a.aaa();
printf( "%p %p %p %d %d", a.aaa, ccc, ddd(1), a.bbb(1) );
}