template4.c
来自「用于进行gcc测试」· C语言 代码 · 共 40 行
C
40 行
// Test for explicit visibility on template vs. #pragma vis at explicit// instantiation/specialization point for plain function templates.// { dg-require-visibility "" }// { dg-final { scan-hidden "_Z3fooIdEvT_" } }// { dg-final { scan-hidden "_Z3fooIlEvT_" } }// { dg-final { scan-hidden "_Z3fooIcEvT_" } }// { dg-final { scan-hidden "_Z3fooIiEvT_" } }// { dg-final { scan-not-hidden "_Z3fooIfEvT_" } }// { dg-final { scan-not-hidden "_Z3fooIsEvT_" } }// { dg-final { scan-hidden "_Z3barIdEvT_" } }// { dg-final { scan-hidden "_Z3barIlEvT_" } }// { dg-final { scan-hidden "_Z3barIiEvT_" } }// { dg-final { scan-hidden "_Z3barIcEvT_" } }// { dg-final { scan-not-hidden "_Z3barIfEvT_" } }// { dg-final { scan-not-hidden "_Z3barIsEvT_" } }#pragma GCC visibility push(hidden)template <class T> void bar(T) { }#pragma GCC visibility poptemplate void bar (long);template<> void bar (double) { }template __attribute ((visibility ("default"))) void bar (short);template<> __attribute ((visibility ("default"))) void bar (float) { }#pragma GCC visibility push(default)template<> void bar(char) { }template void bar(int);#pragma GCC visibility poptemplate <class T> __attribute ((visibility ("hidden"))) void foo(T) { }template void foo (long);template<> void foo (double) { }template __attribute ((visibility ("default"))) void foo (short);template<> __attribute ((visibility ("default"))) void foo (float) { }#pragma GCC visibility push(default)template<> void foo(char) { }template void foo(int);#pragma GCC visibility pop
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?