问题标签 [scratch-memory]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 线程本地内存,使用 std::string 的 c 样式暂存内存的内部缓冲区
我正在使用协议缓冲区和OpensSSL生成 HMAC,然后 CBC 加密这两个字段以混淆会话 cookie——类似的 Kerberos 令牌。
Protocol Buffers 的 API 与 std::strings 通信,并具有缓冲区缓存机制;我利用缓存机制,将同一线程中的连续调用放在线程本地内存中;此外,OpenSSL HMAC 和 EVP CTX 也被放置在同一个线程本地内存结构中(请参阅这个问题,了解为什么我使用线程本地内存以及即使使用单个线程也能实现大量加速)。
这些 cookie 字符串的生成和反序列化“我的算法”使用中介void *
s 和std::string
s,并且由于 Protocol Buffers 具有内部内存保留机制,我希望这些特征用于“我的算法”。
那么如何实现一个通用的暂存器呢?我对 std::string 对象的 rdbuf(streambuf - strinbuf ??) 了解不多。我大概需要将它增长到执行“我的算法”期间遇到的最低常见大小。想法?
我想我的问题是:“字符串的内部缓冲区是否可重用,如果是,如何?”
编辑(新问题):
在 Vlad 的帖子之后,我似乎确实需要一个 std::string 以及一个 void * c 样式的暂存缓冲区。那么我的问题是:流行的 stl 的字符串实现在不需要时会保留内存吗?(我的需求可能会保持在 128 字节到 10 KB 之间)。
c - 从 C 访问暂存器内存
这可能是一个有点奇怪的问题,但我希望有人仍然可以帮助我;)。我想执行一个标准的 C 程序,但是,在程序执行期间的某个时刻,我希望执行一定数量的指令,这些指令存储在本地暂存器 RAM 中。所有进程都可以访问暂存器内存。让我们假设这个本地内存从地址 0x80000000 开始,我将把它集成到下面的 C 代码片段中
}
假设 main 在 0x40000000 加载,程序计数器将经历以下阶段
任何人都知道如何做到这一点?我需要使用汇编程序跳转指令还是有更优雅的东西。
非常感谢,安迪