Giter Site home page Giter Site logo

Comments (4)

jeremyhannon avatar jeremyhannon commented on July 30, 2024

when you say "seperate the src layout into headers", would there be one .h for every .c afterwards? This would help since we use Unity/Ceedling for unit testing and Ceedling makes some file structure assumptions. (btw I'd be ok with rolling all string functions into a single safe_str_lib.c file instead of one-function-per-header)

from safeclib.

rurban avatar rurban commented on July 30, 2024

done with 480d59c

the headers stay of course the same. we will not change the API.
it's only the internal src layout.

one single file is highly unusual for a libc. we rather have single files into an archive.
with a shared lib -flto is recommended. with a static lib not needed.
if you cannot use -shared -flto (old linker, old compiler) then a cat into a single src file is ok.

from safeclib.

rurban avatar rurban commented on July 30, 2024

I didn't really read your request, sorry. One h per c makes sense in your case. But for safeclib it would be massive overkill to include all single h files. Do the 2 new splits unsafe and extensions help?

from safeclib.

jeremyhannon avatar jeremyhannon commented on July 30, 2024

ok, I understand your file structure preference.

Yes, separating the unsafe vs extensions seems wise. In our structure we've separated what is in the C11AnnexK standard vs other related functions we've added (particularly, truncating versions since the C11AnnexK returns an empty string if the destination is too small). That way the file structure makes clear what is from the standard and what deviates.

from safeclib.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.