473,396 Members | 1,840 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

Merging two DLL files

Is it possible to merge two DLL files into one? If so, how?

Thanx/NSP

Jun 18 '07 #1
10 9994
n o s p a m p l e a s e <no***********@alum.comwrote:
Is it possible to merge two DLL files into one? If so, how?
Sure. Use fopen() one one file in binary append mode, fopen() on the
other file in binary read mode, and continue to fgetc() from the second
stream and fputc()ing the result into the first, until the result is
EOF. The result may not be what you expect; if you want something
Micro$oft-safe, ask in a Micro$oft-specific newsgroup.

Richard
Jun 18 '07 #2
n o s p a m p l e a s e said:
Is it possible to merge two DLL files into one?
Yes.
If so, how?
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char **argv)
{
int rc = EXIT_FAILURE;
if(argc 3)
{
FILE *fpout = fopen(argv[1], "wb");
if(fpout != NULL)
{
FILE *fpa = fopen(argv[2], "rb");
if(fpa != NULL)
{
FILE *fpb = fopen(argv[3], "rb");
if(fpb != NULL)
{
int ch = 0;
while((ch = getc(fpa)) != EOF)
{
putc(ch, fpout);
}
while((ch = getc(fpb)) != EOF)
{
putc(ch, fpout);
}
if(!ferror(fpa) && !ferror(fpb) && !ferror(fpout))
{
rc = EXIT_SUCCESS;
}
fclose(fpb);
}
fclose(fpa);
}
if(fclose(fpout))
{
rc = EXIT_FAILURE;
}
}
}
return rc;
}

That will do it, if I haven't made any mistakes.

As a bonus, it will merge any two files, not just DLLs.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: rjh at the above domain, - www.
Jun 18 '07 #3
On Mon, 18 Jun 2007 04:33:17 -0700, in comp.lang.c , n o s p a m p l e
a s e <no***********@alum.comwrote:
>Is it possible to merge two DLL files into one? If so, how?
DLLs are not part of the C language. Y ou need to ask the experts in a
Windows system group.

The answer by the way is likely to be the same as to the question "is
it possible to merge two EXE files into one?"
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Jun 18 '07 #4
n o s p a m p l e a s e wrote:
Is it possible to merge two DLL files into one? If so, how?

Thanx/NSP
In each dll you have a different NAME space. If you merge
them, you will have to take care of the possible name
conflicts between them.

For instance if both dlls define a procedure called
"DoCalculations()"
then you have to rename one of them into something else or else
the linker will fail.

Jun 18 '07 #5
On Mon, 18 Jun 2007 18:38:57 +0200, in comp.lang.c , jacob navia
<ja***@jacob.remcomp.frwrote:
>n o s p a m p l e a s e wrote:
>Is it possible to merge two DLL files into one? If so, how?
In each dll you have a different NAME space. If you merge
them, you will have to take care of the possible name
conflicts between them.
I think this is going to be the least of his problems - how will you
merge two binary executables usefully?

to the OP: you need to be clearer about what you mean. If you want to
combine two actual DLL files into a single file, and you do not have
the source code from which they were built, you probably can't do it,
and its not a C problem anyway. If you mean you have hte source for
two DLLs, then Jacob's point is relevant and all you have to do is
resolve any overlap or conflicts between the source, then build a new
DLL (how you do this is again not a C question).
--
Mark McIntyre

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it."
--Brian Kernighan
Jun 18 '07 #6
Mark McIntyre wrote:
On Mon, 18 Jun 2007 18:38:57 +0200, in comp.lang.c , jacob navia
<ja***@jacob.remcomp.frwrote:
>n o s p a m p l e a s e wrote:
>>Is it possible to merge two DLL files into one? If so, how?
In each dll you have a different NAME space. If you merge
them, you will have to take care of the possible name
conflicts between them.

I think this is going to be the least of his problems - how will you
merge two binary executables usefully?
Actually... I never even thought about that possibility. Rereading
the question maybe the OP means literally merging the dlls like
the AVI files, that can be merged by just catenating them one
after the other...

In that case... he should first learn something :-)

Jun 18 '07 #7
In article <jh********************************@4ax.com>,
Mark McIntyre <ma**********@spamcop.netwrote:
>On Mon, 18 Jun 2007 04:33:17 -0700, in comp.lang.c , n o s p a m p l e
a s e <no***********@alum.comwrote:
>>Is it possible to merge two DLL files into one? If so, how?
>DLLs are not part of the C language. Y ou need to ask the experts in a
Windows system group.
Very true.
>The answer by the way is likely to be the same as to the question "is
it possible to merge two EXE files into one?"
I believe that Windows DLLs and Unix shared objects (e.g., DSOs)
have symbol tables, and that access to the objects (data, functions)
within them are mediated by the symbol table accesses (though possibly
only for the first call, with some systems patching the code to make the
call direct instead of through the mediation code).

These leads us to the possibility of having several DLLs or shared
objects that one wishes to combine into a single object (less to
distribute for example), with the symbol table layer being merged
so that the calling code still only has to know the symbol name and
the appropriate section of the combined object is accessed.

This is, I would say, considerably more plausible, in theory, than
merging two arbitrary EXE (executable) files into one, since executable
files might no longer have symbol tables (other than references to
unresolved symbols that are found in DLLs/shared objects).

I don't have any idea how -practical- this would be for DLLs;
I have, in my readings, occasionally encountered shared object mergers
for various Unices.
--
Okay, buzzwords only. Two syllables, tops. -- Laurie Anderson
Jun 18 '07 #8

"jacob navia" <ja***@jacob.remcomp.frwrote in message
news:46***********************@news.orange.fr...
Mark McIntyre wrote:
>On Mon, 18 Jun 2007 18:38:57 +0200, in comp.lang.c , jacob navia
<ja***@jacob.remcomp.frwrote:
>>n o s p a m p l e a s e wrote:
Is it possible to merge two DLL files into one? If so, how?

In each dll you have a different NAME space. If you merge
them, you will have to take care of the possible name
conflicts between them.

I think this is going to be the least of his problems - how will you
merge two binary executables usefully?

Actually... I never even thought about that possibility. Rereading
the question maybe the OP means literally merging the dlls like
the AVI files, that can be merged by just catenating them one
after the other...

In that case... he should first learn something :-)
Jacob, you often make incorrect comments abouts Windows
programming. Why do you even attempt to make them, when
you know the correct thing to do is direct them to a Windows
newsgroup?
Jun 19 '07 #9
Barry wrote:
>
Jacob, you often make incorrect comments abouts Windows
programming. Why do you even attempt to make them, when
you know the correct thing to do is direct them to a Windows
newsgroup?
???? What incorrect comments?

Maybe my introduction to windows programming in the tutorial
of lcc-win32 is incorrect somewhere?

I am not a "guru" and I can be wrong but I have been doing
windows/dos programming since 1991.
Jun 19 '07 #10
jacob navia wrote:
Barry wrote:
>>
Jacob, you often make incorrect comments abouts Windows
programming. Why do you even attempt to make them, when
you know the correct thing to do is direct them to a Windows
newsgroup?

???? What incorrect comments?

Maybe my introduction to windows programming in the tutorial
of lcc-win32 is incorrect somewhere?

I am not a "guru" and I can be wrong but I have been doing
windows/dos programming since 1991.
Fine, but that is not suitable for c.l.c discussion.

--
<http://www.cs.auckland.ac.nz/~pgut001/pubs/vista_cost.txt>
<http://www.securityfocus.com/columnists/423>
<http://www.aaxnet.com/editor/edit043.html>
cbfalconer at maineline dot net

--
Posted via a free Usenet account from http://www.teranews.com

Jun 19 '07 #11

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

Similar topics

5
by: Stefan Franke | last post by:
Hi, I would like to merge two XML files. The first XML contains a list of books, the second XML file contains a bestseller list of books. So some of the books in the first file will appear in the...
2
by: Cy Huckaba | last post by:
I have an XML document that is linked to other document and I can't figure out what the best way to try and merge them before query qith an XpathNavigator. Simple example...a root xml document...
3
by: Mike | last post by:
Hi! I also asked this question in C# group with no results: I have 2 datasets loaded with data from two xml files having the same schema. The files contain data from yesterday and today. I'd...
2
by: Nikhil Prashar | last post by:
I'm trying to merge two XML files that have the same structure but not necessarily the same nodes in the same order. I've tried opening the files as datasets and using the DataSet.Merge() function,...
0
by: steve | last post by:
Hi there, I am trying to import data from 2 dbf files into excel using the 'get external data' option which launches ms query. Ultimately I am merging data with a right join statement. I can...
0
by: Mike | last post by:
Hi! I have 2 datasets loaded with data from two xml files having the same schema. The files contain data from yesterday and today. I'd like to merge both datasets in such a way that the resulting...
1
by: adamrace | last post by:
Hi, I've got two excel files, one has a list of products and their current prices and they all have a product ID, I have another file with a list of price's that need updating. I was wondering...
0
by: veer | last post by:
Hello sir. I am making a program on merging in Visual Basic. The program is that I have a folder which is not on my hard drive contain 80 Mdb files and each Mdb file contains two tables. I want to...
0
by: Albert-jan Roskam | last post by:
Hi John, Thanks! Using a higher xlrd version did the trick! Regarding your other remarks: -yep, input files with multiple sheets don't work yet. I kinda repressed that ;-) Spss outputs only...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
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...
0
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...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
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,...

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.