06-18-2012
Shared library with acces to shared memory.
Hello.
I am new to this forum and I would like to ask for advice about low level POSIX programming.
I have to implement a POSIX compliant C shared library.
A file will have some variables and the shared library will have some functions which need those variables.
There is one special requirement, the access to the variables should be as quick as posible, which means that variables should be load in memory and made available to the libray.
I think I can create a program using IPC shared memory (shmget functions) to create a shared memory region available to the process using the library.
This process would read a file with the variables and would write them in the shared memory.
As I have read, one you create the shared memory, the process can be stopped and the region should be still available to other process.
Also, the progam would be executed to apply changes in the configuration file, changing the shared memory.
What do you think about this solution? Is this feasible?
I have also read about mmap as a modern solution? Would you recommend it?
Thank you very much for your comments.
10 More Discussions You Might Find Interesting
1. Programming
hello all
I want to work in shared libraries how can i work in
Linux Environment ? (2 Replies)
Discussion started by: rajashekaran
2 Replies
2. UNIX for Advanced & Expert Users
I am running HP-UX B.11.11.
I'm increasing a parameter for a database engine so that it uses more memory to buffer the disk drive (to speed up performance). I have over 5GB of memory not being used.
But when I try to start the DB with the increased buffer parameter I get told.
"Not... (1 Reply)
Discussion started by: cjcamaro
1 Replies
3. UNIX for Advanced & Expert Users
What is the primary difference between static library and dynamic library?
and how to write static shared library? (1 Reply)
Discussion started by: areef4u
1 Replies
4. Programming
I need to create a shared library to access an in memory DB. The DB is not huge, but big enough to make it cumbersome to carry around in every single process using the shared library. Luckily, it is pretty static information, so I don't need to worry much about synchronizing the data between... (12 Replies)
Discussion started by: DreamWarrior
12 Replies
5. Programming
I am writing a shared library in Linux (but compatible with other UNIXes) and I want to allow multiple instances to share a piece of memory -- 1 byte is enough. What's the "best" way to do this? I want to optimize for speed and portability.
Obviously, I'll have to worry about mutual exclusion. (0 Replies)
Discussion started by: otheus
0 Replies
6. Shell Programming and Scripting
Hi:
I have a library that it only offers Makefile for building static library. It built libxxx.a file. How do I in any way build a shared library? (either changin the Makefile or direct script or command to build shared library)
Thanks. (1 Reply)
Discussion started by: cpthk
1 Replies
7. Programming
I'm having trouble with my makefile, I'm trying to code a shared library to be used by another program
*EDIT* Found the solution:
CC = g++
MODULES= readconfig.o ReadConfigLib.o
OBJECTS=
RCLOBJECTS= ReadConfigLib.cpp readconfig.cpp configDefinitions.h readconfig.h ReadConfigLib.h... (0 Replies)
Discussion started by: james2432
0 Replies
8. UNIX for Dummies Questions & Answers
Each shared library may contain sections with allocatable flag as below:
...
.hash
.gnu.hash
.dynsym
.dynstr
.gnu.version
.gnu.version_d
.rel.dyn
.rel.plt
.plt
...
My questions is that: among above sections, which of them should be loaded in the physical memory by run-time linker... (3 Replies)
Discussion started by: Dongping84
3 Replies
9. UNIX for Dummies Questions & Answers
Hello
Please what does mean shared static library and LD-Preload?
Thank you (3 Replies)
Discussion started by: chercheur857
3 Replies
10. AIX
I'm trying to install libiconv to AIX 7.1 from an rpm off of the perzl site. The rpm appears to install but I get this error message.
add shr4.o shared members from /usr/lib/libiconv.a to /opt/freeware/lib/libiconv.a
add shr.o shared members from /usr/lib/libiconv.a to ... (5 Replies)
Discussion started by: kneemoe
5 Replies