Giter Site home page Giter Site logo

Comments (2)

hackwrench avatar hackwrench commented on May 29, 2024

Sometimes I pass raw data as a string and whatever process adds the null can add an unwanted byte or unwanted time to my program. I'm not sure if programs that don't expect it to be there can have some idea it is there.
Most of the time it's graphics, palette or sound data.
Anyways the process of adding it can affect performance.

from qb64pe.

mkilgore avatar mkilgore commented on May 29, 2024

Can you clarify what your concern is? This would not impact the length of the string, only the actual char * buffer passed to the library function, and it would be added at the time of the call and thus invisible from the QB64 code (this only applies to external calls to DECLARE LIBRARY functions).

If you're currently passing a string along with the length to a DECLARE LIBRARY function then this has no impact you, because the length you'll send stays the same and the NUL character would be the character past the end of the length you sent to the function.

In terms of performance I don't think that's a significant concern here (especially compared to the number of buggy programs I've seen the don't add the NUL byte), but also qbs could definitely be modified to simply maintain the NUL byte itself, which would avoid any real performance penalty for having the NUL byte on the end.

from qb64pe.

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.