Skip to content

Builds as C, or without a dependency on the C++ STL #17

Open
@rcombs

Description

@rcombs

Currently, as far as I can tell, the only actual use of C++-specific behavior in the library is static _sclModuleHandle module = _sclOpenICDLoader();, which is allowed (and is thread-safe) in C++ but not in C. This introduces dependencies on a few symbols from the C++ library, which aren't available when linking to this package with gcc or clang (as opposed to g++ or clang++). This could be solved by explicitly doing platform-specific locking around the initialization, or via some atomics trickery (with potential risk of leaking a dlopen handle, but it's not like the library's going to get unloaded anyway).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions