j'essaye de profiler une application avec ccmalloc, le souci c'est que d'habitude je développe avec eclipse donc j'ai beaucoup de mal à trouvé comment lancé ccmalloc
pour compiller mon appli, eclipse lance la commande :
make -k all
Bonjour , je suis passer il y a peu de temps sur 64bits.
Je code une librairie qui a besoin d'acml, comme on me la expliquer sur un autre post après avoir installé acml (le 4.0.1) je met le chemin de la lib dans le /etc/ld.so.conf et je fais un sudo ldconfig. Coté acml tout va presque bien , je m'explique : j'ai pris la version compilée avec gfortran pour 64bit (...normal..), donc pour ma librairie je link acml et (...)
j'utilise eclipse et je fais des test de performance, et étrangement, la version release et plus lente que la version debug.
je m'explique :
je chronomètre une fonction DGEMM que j'ai compilée en version debug, j'ai un temps de 8 secondes environ
le même code que je compile en release et que je lance dans la console : j'ai un temps de 22 secondes
c'est quand meme une sacrée difference , quelqu'un aurait t'il un idée (...)
Parfois des lib ou des exécutables sont linkés avec pleins de lib dynamiques ".so" dont certaines qui ne servent à rien. J'aimerais faire le menage. Je vois deux méthodes possibles :
- dire à gcc de ne réelement linker que si la lib est utilisée plutôt que de prendre tous les -l sans regarder.
ou
- après la compilation, déterminer sur l'exécutable en suivant les symboles les lib utilisées et les lib inutilisées.
je viens de compiler un librairie dynamique, celle ci fonctionne sans souci .
Là ou je suis embêté et étonné , c'est qu'en éditant ma librairie avec un éditeur de texte , apparaît en clair les valeurs de certain tableau de caractères( des char *).
comment puis-je éviter cela??
merci de vos réponses
ps : ces tableau de caractères sont des sous programmes qui sont compilé à la volée , et ces codes ne sont pas ouvert... d'où ma (...)
je code en c++ avec eclipse et j'ai besoin des fonction blas et lapack ,
je télécharge donc ACML, les librairie blas et lapack optimiser pour/par AMD, je décompresse et j'installe
celle ci est installer dans /opt/acml3.6.0/
dans mon code c++ j'ajoute #include </opt/acml3.6.0/gfortran32/include/acml.h>
dans eclipse , propriété de mon projet , j'ajoute dans C++ Build/Gcc C++ Linker/Librairies et Librairies acml ( ce qui équivaut a faire un -lacml dans les argument G++) le code se compile sans (...)
J'essaye de faire le portage d'une application MFC/windows vers gcc.
Cette application est bardée de CString l'objet chaîne de caractère sous Windows.
J'ai pas vraiment envie de reprendre toute les utilisations de cet objet pour mettre des string à la place (un boulot fou). D'où ma question, connaîtriez voue une librairie qui wrappe les CString vers la stl ?
qui ne compilait pas. Je dois modifier certaines options de compilation pour que cela fonctionne et recompiler la librairie. Cela veut donc dire que je ne pourrai pas utiliser la librairie déjà existante boost::regex intégré à ma distribution. C'est pour cette raison que je souhaiterai l'inclure statiquement dans mon exécutable.
Comment dois-je m'y prendre? C'est pour éviter de recompiler cette librairie à chaque (...)
J'ai un programme avec plusieurs threads....
L'une s'appelle "Init", elle réserve de la mémoire pour des pointeurs sur des tableaux de structures, puis elle initialise ses tableaux avec des valeurs lues dans un fichier....puis elle se termine
Une autre s'appelle "MainLoop", elle effectue des opérations selon les valeurs qui se trouvent dans les tableaux de structures initialisé par la tache "Init".
Mon problème, c'est qu'il me semble que les valeurs du tableaux ont été perdus....
J'ai un tableau qui est déclare comme ça : char tbl[10][20]
je dois passer ce tableau à une fonction, comment faire ??
j'ai fait des essais de char **, mais rien de concluant...et je ne trouve pas d'aide dans mes bouquins....
apres quelques semaines de debogage desesperé, je me tourne vers vous, j'ai un prgrammes qui me fais un "memory corruption", avec DDD j'aivu que c'etait sans les ligne ou j'avais free(), alors j'ai enlevé tout les free, mais il veut rien comprendre, voila ce qu'il m'affiche : *** glibc detected *** ./main: malloc(): memory corruption: 0x081dfb18 ***
======= Backtrace: =========
/lib/libc.so.6[0xb778e6e1]
/lib/libc.so.6[0xb7790671]
/lib/libc.so.6(__libc_malloc+0x85)[0xb77920c5]
/usr/lib/libstdc++.so.6(_Znwj+0x27)[0xb792e477]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep9_S_createEjjRKSaIcE+0x6b)[0xb7909feb]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep8_M_cloneERKSaIcEj+0x38)[0xb790aba8]
/usr/lib/libstdc++.so.6(_ZNSs7reserveEj+0x48)[0xb790b718]
/usr/lib/libstdc++.so.6(_ZNSt15basic_stringbufIcSt11char_traitsIcESaIcEE8overflowEi+0xa3)[0xb7904343]
/usr/lib/libstdc++.so.6(_ZNSt15basic_streambufIcSt11char_traitsIcEE6xsputnEPKci+0x81)[0xb79091d1]
/usr/lib/libstdc++.so.6(_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE13_M_insert_intIlEES3_S3_RSt8ios_basecT_+0x127)[0xb78f7367]
/usr/lib/libstdc++.so.6(_ZNKSt7num_putIcSt19ostreambuf_iteratorIcSt11char_traitsIcEEE6do_putES3_RSt8ios_basecl+0x50)[0xb78f75d0]
/usr/lib/libstdc++.so.6(_ZNSolsEi+0xcd)[0xb78ffded]
./main[0x804f7ed]
./main[0x804f092]
./main(__gxx_personality_v0+0x39f)[0x804e0b3]
/lib/libc.so.6(__libc_start_main+0xdc)[0xb773ff9c] (...)
voici le résultat de ma compilation :
undefined reference to 'pthread_kill (unsigned long, int)'
voici ma ligne de compilation :
g++ sample1.cpp -o sample1 -lpthread
Pouvez vous me dire pourquoi j'ai une erreur ?
Ce qui est bizarre c'est que si j'enlève le pthread_kill, les fonctions pthread_create, pthread_join fonctionne bien....
j'ai essayé pthread_cancel à la place de pthread_kill mais ça bloque mon programme, même si je paramètre mon thread avec pthread_setcancelstate et pthread_setcanceltype.
Bonjour,
ce débat est dans la lignée des Design Pattern donc à voir avant de répondre :-)
voila le projet. J'ai une classe abstrait Forme qui caractérise un objet graphique et à chaque objet j'associe un objet concret ToolManipulator qui dérive d'une classe abstraite Tool. Donc tout fonctionne bien mais j'ai deux choix qui s'offre à moi : * l'objet Forme sait construite un objet ToolManipulator adapté à l'objet à manipuler sur l'écran mais cela oblige à modifier chaque classe (...)
Bonjour,
j'utilise wxWidgets en C++et allegro en C sur les stations style PC/MAC/SUN mais je suis à la recherche d'informations pour trouver une bibliothèque portable en C/C++ pour pouvoir avec un seul code programmer sur playstation/XBOX/Nintendo DS/ Wii...Merci de m'indiquer si cela existe ou à défaut les bibliothèque (gratuites?) pour développer des jeux ou applications sur ces plates-formes sachant que je souhaite éviter java pour des questions de performances et aussi d'expérience. Merci
Cordialement
bonjour ,
je voudrait compiler Glew por pouvoir en faire du Multiple Rendering Contexts (GLEW MX)...mais je sais pas comment faire , sur le site de glex il disent juste :
Compile and use GLEW with the GLEW_MX preprocessor token defined.
For each rendering context, create a GLEWContext object that will be available as long as the rendering context exists. Define a macro or function called glewGetContext() that returns a pointer to the GLEWContext object associated with the rendering context (...)
j'essaye de faire un petit programme pour decouvrir Magick++, mais je n'arrive pas a compiler, g++ (sous kdevelop) m'annonce quelques disaines d' "undefined reference to ..", j'ai beau cherché les .a à ajouter au complateur mais sans succes, voici quelques lignes de l'erreur :
/usr/local/lib/libWand.a(drawing-wand.o): In function `NewDrawingWand':
/ImageMagick/wand/drawing-wand.c:6185: undefined reference to `GetMagickQuantumDepth'
/usr/local/lib/libWand.a(magick-image.o): In function `MagickResampleImage':
/ImageMagick/wand/magick-image.c:7849: undefined reference to `ResampleImage'
/usr/local/lib/libWand.a(magick-image.o): In function `MagickOptimizeImageLayers':
/ImageMagick/wand/magick-image.c:6575: undefined reference to `OptimizeImageLayers'
*
*
* /usr/lib/libfontconfig.a(fcxml.o): In (...)
J'ai du code qui compile en C (et pas en C++) j'en ai fait une librairie dynamique (avec fPIC pour la generation des .o et -shared pour la generation du .so).
Je veux intergrer ce .so dans un programme C++.
Mais cela marche pas j'ai des "Undefined reference to xxxx"
Ou xxxx sont des fonctions de mon .so
La où je comprends pas c'est que pour test j'ai generé deux .so de deux facon différentes. Une méthodes fonctionne , (...)
Bonjour à tous
j'ai créé un projet contenant 3 fichiers, un fichiers essa.h,un fichiers essai.cpp et un fichier main.cpp.
Dans le fichiers essai.h j'ai déclaré les en tête des différentes classes ainsi que leurs méthodes et leurs attributs.
Mon problème se situe au niveau de 2 classes: la classe Personne et la classe voiture,chacune de ces classes a pour attribut une instance de l'autre ie que la classe personne a un attribut de type voiture,de même la classe voiture a (...)
J'ai trouvé un bout de code qui m'interesse, apparemment il faut ajouter l'option "-lpthread" pour que ca marche, mais je ne sais pas comment faire ca dans anjuta, je n'ai trouvé aucun menu qui correspond ?
Autre question, ce pthread, c'est quoi, une api plus facile que la standard pour utiliser des threads ??
Bonjour,
je cherche une bibliothèque c++ (ou c) pour acquérir du son depuis un micro et l'enregistrer en wav ou mp3.
J'ai besoin que cette bibliothèque soit libre et multiplateforme (win linux et mac).
j'ai trouvé différente choses mais rien que je n'arrive à faire marcher
openal ne semble pas permettre l'acquisition depuis un micro sous linux.
clam à l'air monstrueux pour mes besoins et je n'ai pas trouver beaucoup de doc. portaudio permets seulement d'enregistrer dans un format raw. (...)
Bonjour à tous,
je vais peut-être passer pour un imbécile, mais je n'arrive pas vraiment à comprendre la gestion de la mémoire dynamique.
Supposons la fonction f1: void f1()
{
Objet* obj= new Objet();
obj->print();
// et à la fin on désalloue:
delete obj;
}
maitenant, regardons la fonction f2 qui (presque) la même chose: void f2()
{
Objet obj();
obj.print();
}
Maintenant, mes questions: * Comment se fait-il que dans un cas, je suis obligé d'appeler l'opérateur delete, et (...)