473,513 Members | 2,552 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

static and dynamic C runtime libraries?

Hi,

I have a C++ app which needs to work with a server on a remote machine. The
manufacturer has given us a set of DLL's which provide API calls to send
requests to the server and receive an information feed from it. My app is
compiled under Micro$oft VS.NET 2003 with option /MT to statically link in
the C runtime libraries msvcrt.lib etc. My app has to store information from
the server and answer requests from many remote clients. These requests are
made via an RPC connection.

It works like a charm on the test machine which is a replica of the
production machine. Both are dual processors and all the relevant DLL
versions are the same. I've checked them one by one.
Yet it falls over like a drunken sailor in production with a "Buffer
overrun" exception. I'm thinking that a mismatch between the static and
dynamic libraries might cause this, but why does it work perfectly in test
and not at all in production? There is a production feed from the server to
the test machine and it gets a similar stream of client requests generated
by another program which is running on several machines. The stress on the
test machine is the same, if not more than the production machine.

Free disk space on the prod machine is 1.5GB. There is 27GB free on the test
machine (!), Every time the info feed from the server indicates that
something significant has changed, it must be written to disk.

I realise that this is not much to work with, but does anyone have any ideas
as to why this app would run nicely in test and not in prod when the
environments and transaction volumes are virtually identical?

Regards, JohnD.
Jul 23 '05 #1
1 2514
On Sat, 18 Jun 2005 15:13:48 GMT, "John S Dalzell"
<jo*********@bigpond.com> wrote in comp.lang.c++:
Hi,

I have a C++ app which needs to work with a server on a remote machine. The
manufacturer has given us a set of DLL's which provide API calls to send
requests to the server and receive an information feed from it. My app is
compiled under Micro$oft VS.NET 2003 with option /MT to statically link in
the C runtime libraries msvcrt.lib etc. My app has to store information from
the server and answer requests from many remote clients. These requests are
made via an RPC connection.

It works like a charm on the test machine which is a replica of the
production machine. Both are dual processors and all the relevant DLL
versions are the same. I've checked them one by one.
Yet it falls over like a drunken sailor in production with a "Buffer
overrun" exception. I'm thinking that a mismatch between the static and
dynamic libraries might cause this, but why does it work perfectly in test
and not at all in production? There is a production feed from the server to
the test machine and it gets a similar stream of client requests generated
by another program which is running on several machines. The stress on the
test machine is the same, if not more than the production machine.

Free disk space on the prod machine is 1.5GB. There is 27GB free on the test
machine (!), Every time the info feed from the server indicates that
something significant has changed, it must be written to disk.

I realise that this is not much to work with, but does anyone have any ideas
as to why this app would run nicely in test and not in prod when the
environments and transaction volumes are virtually identical?

Regards, JohnD.


You need to take this question to a Windows programming group, like
news:comp.os.ms-windows.programmer.win32 or one of Microsoft's support
groups in the news:microsoft.public.* family. The C++ language does
not define or support DLLs, static libraries, or remote calls across a
network, making it off-topic here. Your issue is all about Windows
specific mechanisms, not about the C++ language.

--
Jack Klein
Home: http://JK-Technology.Com
FAQs for
comp.lang.c http://www.eskimo.com/~scs/C-faq/top.html
comp.lang.c++ http://www.parashift.com/c++-faq-lite/
alt.comp.lang.learn.c-c++
http://www.contrib.andrew.cmu.edu/~a...FAQ-acllc.html
Jul 23 '05 #2

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
320
by: rahul | last post by:
Hi, I am working on developing a C++ application and caught with a strange issue: I am having 4 dynamic libraries for e.g. a.dll, b.dll, c.dll and d.dll. Each of these is linked with a static library called msg.lib. Now in all but one (d.dll) dynamic libraries there is a function called "LOGTOFILE". In d.dll this function is replaced...
3
3818
by: iceColdFire | last post by:
Hi, Can someone highlight the difference between static library and bynamic library...and how do .lib and .dll files come up in the picture... Thanks, a.a.cpp++ :-)
4
4771
by: jrefactors | last post by:
I want to distinguish between static SQL, dynamic SQL, and embedded SQL, but couldn't find too much useful resources in the web. For example, if we put SQL statements (SELECT, INSERT, UPDATE, etc...) inside an application (e.g. Java application, VB application, etc...), do we consider those SQL statements as static SQL? or embedded SQL? ...
6
2580
by: Andrew S. Giles | last post by:
Is it possible to bring in a static library (developed in C++) into a C# project/solution? Thanks in advance for any information. Andrew S. GIles
44
2796
by: John A. Bailo | last post by:
Dr. Dobbs has a /glowing/ article on Ruby on Rails this month. What do you guys think? Can it replace .net, php and java? And be the Open Source OOP web solution that is not bound to Sun or MS? http://media.rubyonrails.org/presentations/pursuitofbeauty.pdf
24
19037
by: Ken | last post by:
In C programming, I want to know in what situations we should use static memory allocation instead of dynamic memory allocation. My understanding is that static memory allocation like using array is faster than malloc, but dynamic memory allocation is more flexible. Please comment... thanks.
20
6066
by: JohnQ | last post by:
The way I understand the startup of a C++ program is: A.) The stuff that happens before the entry point. B.) The stuff that happens between the entry point and the calling of main(). C.) main(). So, if the above is OK, does static initialization occur during A or B? What happens during A?
6
5597
by: Even | last post by:
Hi all, As far as I know, relative address will be assigned by program at link time.Right? Ok, here we go. So if we use a static library, it will give the program an relative address(i mean the function address) at link time. Also the code of the library will load into the program. Go on. Now if we use a dynamic library, what it will...
20
4258
by: Nickolai Leschov | last post by:
Hello all, I am programming an embedded controller that has a 'C' library for using its system functions (I/O, timers, all the specific devices). The supplied library has .LIB and .H files. How can I dynamically load a LIB file and access all its functions? Surely someone has solved similar task? My intention is to use a Forth system...
0
7178
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language...
0
7565
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
0
5704
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
1
5103
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes...
0
4759
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert...
0
3255
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in...
0
3242
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1612
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
0
473
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.