Prev: strcpy_s vs strcpy
Next: Variadic templates
From: marlow.andrew on 9 Nov 2008 09:00 A while ago I wrote a tool to produce a dependency graph for C/C++ libraries using graphviz. This was to help on large C/C++ established projects where the libraries had become very tangled over the years. The project is called depdot and is on sourceForge at https://sourceforge.net/projects/depdot. I see from the statistics that it is hardly used and I am puzzled as to why. When I wrote it there was no other comparable tool, as far as I could see. The problem of making sense of a large project with lots of tangled C/C++ libraries comes up time and time again. Well, at least it does for me. So it seemed it would fill a need. But the statistics seem to say otherwise. Is this because it is not generally a problem? Or maybe there is a better tool out there that I don't know about? So, I am trying to find out what other C/C++ developers do when confronted with the problem of making sense of a large set of tangled libraries. If there is another tool that does it better I can retire depdot and make the webpages point to the better software. If depdot needs to be improved before people will really find it useful then I need to know that too. Maybe I have been really unlucky and most people never encounter tangled libraries. One possibility is that people are put off by the alpha status of depdot on sourceForge. I am tempted to promote it to beta or even mature but I am hesitant without having had much feedback and with such low download statistics. Does the current alpha status put people off? Note: I have been saying C/C++ when actually, depdot works for any ".a" or ".so" library. Also, I am ware that there is no such language as C/C++!!! It's just that I see the problem most often in either C projects or C++ projects. This does not seem to be a concern for java. The main problem with tangled libraries for compiled languages is to do with problems at link time. Such problems include the library order being critical, fragile and requiring the same library names to be repeated at various points in the linker command line. Regards, Andrew Marlow -- [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ]
From: Andrei Alexandrescu (See Website For Email) on 10 Nov 2008 01:21 marlow.andrew(a)googlemail.com wrote: > A while ago I wrote a tool to produce a dependency graph for C/C++ > libraries using graphviz. This was to help on large C/C++ established > projects where the libraries had become very tangled over the years. > The project is called depdot and is on sourceForge at > https://sourceforge.net/projects/depdot. > > I see from the statistics that it is hardly used and I am puzzled as > to why. When I wrote it there was no other comparable tool, as far as > I could see. The problem of making sense of a large project with lots > of tangled C/C++ libraries comes up time and time again. Well, at > least it does for me. So it seemed it would fill a need. But the > statistics seem to say otherwise. Is this because it is not generally > a problem? Or maybe there is a better tool out there that I don't know > about? > > So, I am trying to find out what other C/C++ developers do when > confronted with the problem of making sense of a large set of tangled > libraries. If there is another tool that does it better I can retire > depdot and make the webpages point to the better software. If depdot > needs to be improved before people will really find it useful then I > need to know that too. Maybe I have been really unlucky and most > people never encounter tangled libraries. > > One possibility is that people are put off by the alpha status of > depdot on sourceForge. I am tempted to promote it to beta or even > mature but I am hesitant without having had much feedback and with > such low download statistics. Does the current alpha status put people > off? > > Note: I have been saying C/C++ when actually, depdot works for any > ".a" or ".so" library. Also, I am ware that there is no such language > as C/C++!!! It's just that I see the problem most often in either C > projects or C++ projects. This does not seem to be a concern for java. > The main problem with tangled libraries for compiled languages is to > do with problems at link time. Such problems include the library order > being critical, fragile and requiring the same library names to be > repeated at various points in the linker command line. > > Regards, > > Andrew Marlow > Depdot sounds like an interesting tool. I first heard about it just now, and that may be part of the problem - there's not enough "advertisement" of the product. Among things you can do, you could at least provide a blessed image so we can get a taste. The Screenshot section at sourceforge lists nothing. Searching google images for "depdot" yields nothing. I'd be quite curious! Andrei -- [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ]
From: AnonMail2005 on 10 Nov 2008 01:30 On Nov 9, 9:00 pm, marlow.and...(a)googlemail.com wrote: > A while ago I wrote a tool to produce a dependency graph for C/C++ > libraries using graphviz. This was to help on large C/C++ established > projects where the libraries had become very tangled over the years. > The project is called depdot and is on sourceForge athttps://sourceforge.net/projects/depdot. > > I see from the statistics that it is hardly used and I am puzzled as > to why. When I wrote it there was no other comparable tool, as far as > I could see. The problem of making sense of a large project with lots > of tangled C/C++ libraries comes up time and time again. Well, at > least it does for me. So it seemed it would fill a need. But the > statistics seem to say otherwise. Is this because it is not generally > a problem? Or maybe there is a better tool out there that I don't know > about? > > So, I am trying to find out what other C/C++ developers do when > confronted with the problem of making sense of a large set of tangled > libraries. If there is another tool that does it better I can retire > depdot and make the webpages point to the better software. If depdot > needs to be improved before people will really find it useful then I > need to know that too. Maybe I have been really unlucky and most > people never encounter tangled libraries. > > One possibility is that people are put off by the alpha status of > depdot on sourceForge. I am tempted to promote it to beta or even > mature but I am hesitant without having had much feedback and with > such low download statistics. Does the current alpha status put people > off? > > Note: I have been saying C/C++ when actually, depdot works for any > ".a" or ".so" library. Also, I am ware that there is no such language > as C/C++!!! It's just that I see the problem most often in either C > projects or C++ projects. This does not seem to be a concern for java. > The main problem with tangled libraries for compiled languages is to > do with problems at link time. Such problems include the library order > being critical, fragile and requiring the same library names to be > repeated at various points in the linker command line. > > Regards, > > Andrew Marlow > I get library dependency graphs from Doxygen. One of it's options is to show directory dependencies from source files. Since we have each of our libraries in a seperate directory this work fine. BTW, it uses graphviz to draw it's pictures. HTH -- [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ]
From: Eddy Pronk on 10 Nov 2008 23:01 Andrei Alexandrescu (See Website For Email) wrote: > Depdot sounds like an interesting tool. I first heard about it just now, > and that may be part of the problem - there's not enough "advertisement" > of the product. Among things you can do, you could at least provide a > blessed image so we can get a taste. The Screenshot section at > sourceforge lists nothing. Searching google images for "depdot" yields > nothing. I'd be quite curious! I wrote something similar a few years ago. http://www.muftor.com/Wikka/wikka.php?wakka=NmDepend http://sourceforge.net/projects/nmdepend/ It has a few images on the webpage. Cheers, Eddy -- [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ]
From: marlow.andrew on 11 Nov 2008 04:09
On 10 Nov, 18:30, "AnonMail2...(a)gmail.com" <AnonMail2...(a)gmail.com> wrote: > On Nov 9, 9:00 pm, marlow.and...(a)googlemail.com wrote: > > A while ago I wrote a tool to produce a dependency graph for C/C++ > > libraries using graphviz. This was to help on large C/C++ established > > projects where the libraries had become very tangled over the years. > > The project is called depdot and is on sourceForge > I get library dependency graphs from Doxygen. One of it's options is > to show directory dependencies from source files. Since we have each > of our libraries in a seperate directory this work fine. doxygen requires the source code and does not know what your library arrangement is (i.e which object files go into what libraries). depdot works on the library archives themselves and shows which libraries depend on which others. -- [ See http://www.gotw.ca/resources/clcm.htm for info about ] [ comp.lang.c++.moderated. First time posters: Do this! ] |