Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 816721
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T01:52:50+00:00 2026-05-15T01:52:50+00:00

I have a file that contains the following: #include <map> class A {}; void

  • 0

I have a file that contains the following:

#include <map>

class A {};

void doSomething() {
   std::map<int, A> m;
}

When compiled into a shared library with g++, the library contains dynamic symbols for all the methods of std::map<int, A>. Since A is private to this file, there is no possibility that std::map will be instantiated in any other shared library with the same parameters, so I’d like to make the template instantiation hidden (for some of the reasons described in this document).

I thought I should be able to do this by adding an explicit instantiation of the template class and marking it as hidden, like so:

#include <map>

class A {};
template class __attribute__((visibility ("hidden"))) std::map<int, A>;

void doSomething() {
   std::map<int, A> m;
}

However, this has no effect: the symbols are still all exported. I also tried surrounding the entire file with:

#pragma GCC visibility push(hidden)
...
#pragma GCC visibility pop

but this also has no effect on the visibility of the methods of std::map<int, A> (although it does hide doSomething). Similarly, compiling with -fvisibility=hidden has no effect on the visibility of the methods of std::map<int, A>.

The document I linked to above describes the use of export maps to restrict visibility, but that seems very tedious.

Is there a way to do what I want in g++ (other than using export maps)? If so, what is it? If not, is there a good reason why these symbols must always be exported, or is this just a omission in g++?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T01:52:51+00:00Added an answer on May 15, 2026 at 1:52 am

    From GCC bug report #36022, which was marked INVALID, Benjamin Kosnik remarked:

    [A]n exception class that will be thrown between DSOs must be
    explicitly marked with default visibility so that the `type_info’ nodes will be
    unified between the DSOs.
    Thus, the rationale for libstdc++ having namespace std have visibility
    “default.”

    Also, looking through the libstdc++ source for std::map (mine is in /usr/include/c++/4.4.4/bits/stl_map.h), it appears that the way libstdc++ enforces default visibility is with the _GLIBCXX_BEGIN_NESTED_NAMESPACE macro that is used at the top of stl_map.h:

    # define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V)))
    # define _GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y) _GLIBCXX_BEGIN_NAMESPACE(X)
    # define _GLIBCXX_BEGIN_NAMESPACE(X) namespace X _GLIBCXX_VISIBILITY_ATTR(default) {
    

    Therefore your STL implementation is explicitly overriding -fvisibility=hidden and #pragma GCC visibility push(hidden)/#pragma GCC visibility pop.

    If you really wanted to force the std::map members to have hidden visibility then I think you could use something like:

    // ensure that default visibility is used with any class that is used as an exception type
    #include <memory>
    #include <new>
    #include <stdexcept>
    
    // now include the definition of `std::map` using hidden visibility
    #include <bits/c++config.h>
    #undef _GLIBCXX_VISIBILITY_ATTR
    #define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ ("hidden")))
    #include <map>
    #undef _GLIBCXX_VISIBILITY_ATTR
    #define _GLIBCXX_VISIBILITY_ATTR(V) __attribute__ ((__visibility__ (#V))) // restore `_GLIBCXX_VISIBILITY_ATTR`
    

    Then, the following series of commands will verify that the std::map<int, A> members can be stripped from a shared object:

    1. g++ -c -fPIC -fvisibility=hidden test.cpp
    2. g++ -shared -Wl,-soname,libtest.so.1 -o libtest.so.1.0 test.o
    3. strip -x libtest.so.1.0
    4. readelf -s libtest.so.1.0

    Note that before step 3, readelf -s libtest.so.1.0 printed (for me):

    Symbol table '.dynsym' contains 23 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
         2: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
         3: 00000000     0 FUNC    GLOBAL DEFAULT  UND _ZdlPv@GLIBCXX_3.4 (2)
         4: 00000000     0 FUNC    GLOBAL DEFAULT  UND __gxx_personality_v0@CXXABI_1.3 (3)
         5: 00000000     0 FUNC    GLOBAL DEFAULT  UND _Unwind_Resume@GCC_3.0 (4)
         6: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@GLIBC_2.1.3 (5)
         7: 00000d02     5 FUNC    WEAK   DEFAULT   12 _ZNSt4pairIKi1AED1Ev
         8: 00000d6c    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEEC1ISt
         9: 00000d96    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        10: 000023bc     0 NOTYPE  GLOBAL DEFAULT  ABS _end
        11: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
        12: 00000d5e     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        13: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
        14: 00000bac     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        15: 00000d08    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        16: 000007f4     0 FUNC    GLOBAL DEFAULT   10 _init
        17: 00000c4a    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
        18: 00000df8     0 FUNC    GLOBAL DEFAULT   13 _fini
        19: 00000dba     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        20: 00000cde    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEED1Ev
        21: 00000d90     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        22: 00000ac6    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
    
    Symbol table '.symtab' contains 84 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 000000f4     0 SECTION LOCAL  DEFAULT    1 
         2: 00000118     0 SECTION LOCAL  DEFAULT    2 
         3: 000001c0     0 SECTION LOCAL  DEFAULT    3 
         4: 0000022c     0 SECTION LOCAL  DEFAULT    4 
         5: 0000039c     0 SECTION LOCAL  DEFAULT    5 
         6: 000006b6     0 SECTION LOCAL  DEFAULT    6 
         7: 000006e4     0 SECTION LOCAL  DEFAULT    7 
         8: 00000754     0 SECTION LOCAL  DEFAULT    8 
         9: 0000077c     0 SECTION LOCAL  DEFAULT    9 
        10: 000007f4     0 SECTION LOCAL  DEFAULT   10 
        11: 00000824     0 SECTION LOCAL  DEFAULT   11 
        12: 00000930     0 SECTION LOCAL  DEFAULT   12 
        13: 00000df8     0 SECTION LOCAL  DEFAULT   13 
        14: 00000e14     0 SECTION LOCAL  DEFAULT   14 
        15: 00000ef8     0 SECTION LOCAL  DEFAULT   15 
        16: 00001240     0 SECTION LOCAL  DEFAULT   16 
        17: 0000225c     0 SECTION LOCAL  DEFAULT   17 
        18: 00002264     0 SECTION LOCAL  DEFAULT   18 
        19: 0000226c     0 SECTION LOCAL  DEFAULT   19 
        20: 00002270     0 SECTION LOCAL  DEFAULT   20 
        21: 00002358     0 SECTION LOCAL  DEFAULT   21 
        22: 00002364     0 SECTION LOCAL  DEFAULT   22 
        23: 000023ac     0 SECTION LOCAL  DEFAULT   23 
        24: 000023b4     0 SECTION LOCAL  DEFAULT   24 
        25: 00000000     0 SECTION LOCAL  DEFAULT   25 
        26: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
        27: 0000225c     0 OBJECT  LOCAL  DEFAULT   17 __CTOR_LIST__
        28: 00002264     0 OBJECT  LOCAL  DEFAULT   18 __DTOR_LIST__
        29: 0000226c     0 OBJECT  LOCAL  DEFAULT   19 __JCR_LIST__
        30: 00000930     0 FUNC    LOCAL  DEFAULT   12 __do_global_dtors_aux
        31: 000023b4     1 OBJECT  LOCAL  DEFAULT   24 completed.5942
        32: 000023b8     4 OBJECT  LOCAL  DEFAULT   24 dtor_idx.5944
        33: 000009b0     0 FUNC    LOCAL  DEFAULT   12 frame_dummy
        34: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
        35: 00002260     0 OBJECT  LOCAL  DEFAULT   17 __CTOR_END__
        36: 0000123c     0 OBJECT  LOCAL  DEFAULT   15 __FRAME_END__
        37: 0000226c     0 OBJECT  LOCAL  DEFAULT   19 __JCR_END__
        38: 00000dc0     0 FUNC    LOCAL  DEFAULT   12 __do_global_ctors_aux
        39: 00000000     0 FILE    LOCAL  DEFAULT  ABS test.cpp
        40: 00000d64     8 FUNC    LOCAL  HIDDEN   12 _ZNKSt8_Rb_treeIiSt4pairI
        41: 000023b0     4 OBJECT  LOCAL  HIDDEN   23 DW.ref.__gxx_personality_
        42: 00000b40    11 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        43: 00000bc8   129 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        44: 00000bb1    11 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        45: 00000b4c    96 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        46: 00000ca0    62 FUNC    LOCAL  HIDDEN   12 _ZNKSt8_Rb_treeIiSt4pairI
        47: 00000ab2    19 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        48: 00002364     0 OBJECT  LOCAL  HIDDEN  ABS _GLOBAL_OFFSET_TABLE_
        49: 00000a56    92 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        50: 000009ec    30 FUNC    LOCAL  HIDDEN   12 _Z11doSomethingv
        51: 00000c6e    49 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        52: 00000a32    35 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        53: 000023ac     0 OBJECT  LOCAL  HIDDEN   23 __dso_handle
        54: 00000a0a    19 FUNC    LOCAL  HIDDEN   12 _ZNSt3mapIi1ASt4lessIiESa
        55: 00002268     0 OBJECT  LOCAL  HIDDEN   18 __DTOR_END__
        56: 00000bbc    11 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        57: 00000a1e    19 FUNC    LOCAL  HIDDEN   12 _ZNSt3mapIi1ASt4lessIiESa
        58: 00000d2c    50 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        59: 00000aea    85 FUNC    LOCAL  HIDDEN   12 _ZNSt8_Rb_treeIiSt4pairIK
        60: 000009e7     0 FUNC    LOCAL  HIDDEN   12 __i686.get_pc_thunk.bx
        61: 00002270     0 OBJECT  LOCAL  HIDDEN  ABS _DYNAMIC
        62: 00000d02     5 FUNC    WEAK   DEFAULT   12 _ZNSt4pairIKi1AED1Ev
        63: 00000c4a    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
        64: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
        65: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
        66: 00000000     0 FUNC    GLOBAL DEFAULT  UND _ZdlPv@@GLIBCXX_3.4
        67: 00000df8     0 FUNC    GLOBAL DEFAULT   13 _fini
        68: 00000d6c    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEEC1ISt
        69: 00000dba     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        70: 00000cde    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEED1Ev
        71: 00000d5e     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        72: 00000d90     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        73: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
        74: 00000d96    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        75: 00000bac     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        76: 000023bc     0 NOTYPE  GLOBAL DEFAULT  ABS _end
        77: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
        78: 00000ac6    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
        79: 00000000     0 FUNC    GLOBAL DEFAULT  UND __gxx_personality_v0@@CXX
        80: 00000000     0 FUNC    GLOBAL DEFAULT  UND _Unwind_Resume@@GCC_3.0
        81: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@@GLIBC_2.1
        82: 00000d08    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        83: 000007f4     0 FUNC    GLOBAL DEFAULT   10 _init
    

    And afterward:

    Symbol table '.dynsym' contains 23 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
         2: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
         3: 00000000     0 FUNC    GLOBAL DEFAULT  UND _ZdlPv@GLIBCXX_3.4 (2)
         4: 00000000     0 FUNC    GLOBAL DEFAULT  UND __gxx_personality_v0@CXXABI_1.3 (3)
         5: 00000000     0 FUNC    GLOBAL DEFAULT  UND _Unwind_Resume@GCC_3.0 (4)
         6: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@GLIBC_2.1.3 (5)
         7: 00000d02     5 FUNC    WEAK   DEFAULT   12 _ZNSt4pairIKi1AED1Ev
         8: 00000d6c    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEEC1ISt
         9: 00000d96    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        10: 000023bc     0 NOTYPE  GLOBAL DEFAULT  ABS _end
        11: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
        12: 00000d5e     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        13: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
        14: 00000bac     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        15: 00000d08    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        16: 000007f4     0 FUNC    GLOBAL DEFAULT   10 _init
        17: 00000c4a    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
        18: 00000df8     0 FUNC    GLOBAL DEFAULT   13 _fini
        19: 00000dba     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        20: 00000cde    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEED1Ev
        21: 00000d90     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        22: 00000ac6    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
    
    Symbol table '.symtab' contains 51 entries:
       Num:    Value  Size Type    Bind   Vis      Ndx Name
         0: 00000000     0 NOTYPE  LOCAL  DEFAULT  UND 
         1: 000000f4     0 SECTION LOCAL  DEFAULT    1 
         2: 00000118     0 SECTION LOCAL  DEFAULT    2 
         3: 000001c0     0 SECTION LOCAL  DEFAULT    3 
         4: 0000022c     0 SECTION LOCAL  DEFAULT    4 
         5: 0000039c     0 SECTION LOCAL  DEFAULT    5 
         6: 000006b6     0 SECTION LOCAL  DEFAULT    6 
         7: 000006e4     0 SECTION LOCAL  DEFAULT    7 
         8: 00000754     0 SECTION LOCAL  DEFAULT    8 
         9: 0000077c     0 SECTION LOCAL  DEFAULT    9 
        10: 000007f4     0 SECTION LOCAL  DEFAULT   10 
        11: 00000824     0 SECTION LOCAL  DEFAULT   11 
        12: 00000930     0 SECTION LOCAL  DEFAULT   12 
        13: 00000df8     0 SECTION LOCAL  DEFAULT   13 
        14: 00000e14     0 SECTION LOCAL  DEFAULT   14 
        15: 00000ef8     0 SECTION LOCAL  DEFAULT   15 
        16: 00001240     0 SECTION LOCAL  DEFAULT   16 
        17: 0000225c     0 SECTION LOCAL  DEFAULT   17 
        18: 00002264     0 SECTION LOCAL  DEFAULT   18 
        19: 0000226c     0 SECTION LOCAL  DEFAULT   19 
        20: 00002270     0 SECTION LOCAL  DEFAULT   20 
        21: 00002358     0 SECTION LOCAL  DEFAULT   21 
        22: 00002364     0 SECTION LOCAL  DEFAULT   22 
        23: 000023ac     0 SECTION LOCAL  DEFAULT   23 
        24: 000023b4     0 SECTION LOCAL  DEFAULT   24 
        25: 00000000     0 SECTION LOCAL  DEFAULT   25 
        26: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
        27: 00000000     0 FILE    LOCAL  DEFAULT  ABS crtstuff.c
        28: 00000000     0 FILE    LOCAL  DEFAULT  ABS test.cpp
        29: 00000d02     5 FUNC    WEAK   DEFAULT   12 _ZNSt4pairIKi1AED1Ev
        30: 00000c4a    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
        31: 00000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
        32: 00000000     0 NOTYPE  WEAK   DEFAULT  UND _Jv_RegisterClasses
        33: 00000000     0 FUNC    GLOBAL DEFAULT  UND _ZdlPv@@GLIBCXX_3.4
        34: 00000df8     0 FUNC    GLOBAL DEFAULT   13 _fini
        35: 00000d6c    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEEC1ISt
        36: 00000dba     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        37: 00000cde    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt4pairIKi1AEED1Ev
        38: 00000d5e     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        39: 00000d90     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        40: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS __bss_start
        41: 00000d96    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        42: 00000bac     5 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        43: 000023bc     0 NOTYPE  GLOBAL DEFAULT  ABS _end
        44: 000023b4     0 NOTYPE  GLOBAL DEFAULT  ABS _edata
        45: 00000ac6    35 FUNC    WEAK   DEFAULT   12 _ZNSaISt13_Rb_tree_nodeIS
        46: 00000000     0 FUNC    GLOBAL DEFAULT  UND __gxx_personality_v0@@CXX
        47: 00000000     0 FUNC    GLOBAL DEFAULT  UND _Unwind_Resume@@GCC_3.0
        48: 00000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@@GLIBC_2.1
        49: 00000d08    35 FUNC    WEAK   DEFAULT   12 _ZN9__gnu_cxx13new_alloca
        50: 000007f4     0 FUNC    GLOBAL DEFAULT   10 _init
    

    See also:

    • Visibility – GCC Wiki
    • Controlling Symbol Visibility
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 443k
  • Answers 443k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer The difference is that the second approach declares a type… May 15, 2026 at 6:25 pm
  • Editorial Team
    Editorial Team added an answer It makes sense if you a) notice a performance issue,… May 15, 2026 at 6:25 pm
  • Editorial Team
    Editorial Team added an answer This might be a situation where the template pattern (not… May 15, 2026 at 6:25 pm

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.