Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
nombre réponses : 25

#0 Re : -1 »  SageMath: Logiciel d'algèbre informatisé » Le 13/05/2015, à 16:59

claudius01
Réponses : 29

- Il y également The GNU Multiple Precision Arithmetic Library qui était utilisé dans les premières versions du projet SAGE d'après GNU MP.

- J'ose proposer Java: Class BigDecimal mais je crains qu'il faille se coltiner ou mettre la main dessus et surtout valider les fonctions log(), exp(), sin() and Co. au vue de Logarithm of a BigDecimal et http://beast-mcmc.googlecode.com/svn/br … Utils.java

[humour]@bishop (comme l'androïde de Alien)[/humour]

#1 Re : -1 »  exporter une DLL vers .so » Le 06/05/2015, à 10:51

claudius01
Réponses : 5

Sauf erreur de ma part, il y aurait bien MinGW qui offre un certain nombre d'outils comme pexports et dlltool (cf. Creating an import library).
Après comme l'écrit si bien ssdg: "Une DLL parle windows, pense windows et agit windows...", tout dépend sur quoi s'appuie les méthodes offertes par ladite .dll en espérant qu'elles ne soient pas trop "proches" de l'OS ;-)

Nasman a écrit :

Disposes tu du code source de la dll ?

@ bou6: As-tu au moins le fichier d'interface .h qui spécifie les signatures des méthodes offertes par la .dll ?

Edit: Attention, Unix et Windows utilisent 2 paradigmes différents pour le chargement d'exécution de code (cf. Windows vs. Unix: Linking dynamic load modules) ce qui risque de ne pas faciliter les choses...

#2 Re : -1 »  Programmation - Options de lancement » Le 07/05/2015, à 22:06

claudius01
Réponses : 4

Faut pas décourager les débutants ;-)

RoKN a écrit :

... et je me posais une question au sujet des options de lancement (sous Ubuntu/Debian donc).
Ma question étant simplement de savoir comment faire pour les instaurer ?

J'entends pas options de lancement les " -a " après le nom d'un programme quoi.

Voilà, comment les inclure dans un programme ?

Si ce sont les arguments (de lancement) qui te posent problème, cf.

- 15.5. getopt — Parser for command line options in Python
- man getopt in Language C
- Pour le concept: getopt

Si c'est autre chose, reformule ta question comme pires57 le suggère ...

#3 Re : -1 »  arduino+HC-06+processing » Le 08/05/2015, à 10:40

claudius01
Réponses : 2
grosbouchon a écrit :

ls -l /dev/rfcomm0 donne
crw-rw---- 1 root dialout 216, 0 mai    6 17:13 /dev/rfcomm0
et je suis bien déclaré dans le group dialout
je viens de lancer processing en sudo et je m'apercois que ça marche...

Deux propositions distinctes:

1 - Lancer ton application en root après avoir éventuellement configurer le mot de passe root (qui ne l'est pas par défaut) avec:

$ sudo passwd root

Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

2 - Changer les droits de /dev/rfcomm0 avec:

$ sudo chmod 777 /dev/rfcomm0
$ ls -l /dev/rfcomm0
crwxrwxrwx 1 root dialout 216, 0 févr. 24 00:31 /dev/rfcomm0

En espérant t'avoir aidé...

NB: J'ai eu un problème similaire avec un RPi sur le device /dev/ttyAMA0 pour une communication série avec un module GPS ;-)

#4 Re : -1 »  DLL windows à partir de ubuntu » Le 22/04/2015, à 13:43

claudius01
Réponses : 5
CaptainGarrett a écrit :

j'ai finalement essayer MinGW ... mais ça ne compile pas à cause de OpenCV, des idées ?

Mais encore ?!.
En attendant, regarde si cela n'est pas déjà fait: opencvmingw

#5 Re : -1 »  DLL windows à partir de ubuntu » Le 23/04/2015, à 11:04

claudius01
Réponses : 5

Sauf erreur de ma part, la DLL que l'on te demande concerne Ton programme et non OpenCV.
Ma compréhension est donc de produire une DLL qui s'appuiera sur OpenCV qui sera à installer (ou produire d'où mon post #4 d'hier) sur Windows.
cf. Where can i find dlls for opencv ?...

#6 Re : -1 »  Quel langage ayant un lien avec Linux ? » Le 07/04/2015, à 15:37

claudius01
Réponses : 15
grim7reaper a écrit :

...Un langage vient avec sa « philosophie » (c’est pas le bon mot, mais j’arrive pas à retrouver le mot qui va bien).

Ce mot ne serait-il pas le paradigme.

#7 Re : -1 »  Quel langage ayant un lien avec Linux ? » Le 07/04/2015, à 10:37

claudius01
Réponses : 15
grim7reaper a écrit :

Mouais, Java est pas super populaire sur Linux il me semble (j’utilise aucun logiciel en Java sur Linux, il y‘en a mais ça court pas les rues j’ai l’impression).

Objection votre honneur.
Dans le domaine de l'embarqué "populaire", c'est tout le contraire et je ne citerais que:

Sachant que Linux est l'OS de base de ces 2 plates-formes ;-)

#8 Re : -1 »  Quel langage ayant un lien avec Linux ? » Le 07/04/2015, à 14:21

claudius01
Réponses : 15
Rufus T. Firefly a écrit :

...Apprendre un langage, c'est transcrire le pseudo-code dans ce langage, et ça c'est la partie de loin la plus facile, il suffit de respecter la syntaxe...

Pas tout à fait d'accord.
L'utilisation d'un langage ne se limite pas à sa syntaxe qui est effectivement le plus facile (ce qui est totalement vrai aujourd'hui à la différence d'une époque où on se demande si les concepteurs dudit langage ne le faisaient pas exprès de complexifier la chose ;-). Après il y a tous les apports autour du langage et ce dans des domaines parfois très spécifiques; ce sont les packages de Java, les Modules de Perl, la libc du Langage C, la STL du Langage C++, etc.
Et là, c'est là que cela coince souvent car si je ne prends que la libc: cf. Function and Macro Index à regarder systématiquement avant de se lancer à écrire du code qui existe déjà. Sauf erreur de ma part c'est pareil pour tous les langages informatiques qui sont comme les langues humaines: Le plus dur est de penser dans la culture de cette langue humaine [de ce langage informatique]...

#9 Re : -1 »  Quel langage ayant un lien avec Linux ? » Le 07/04/2015, à 16:01

claudius01
Réponses : 15

Ok grim7reaper, et bien philosophie me plait bien ;-)

#10 Re : -1 »  exécuter CAT d'un programme C » Le 03/04/2015, à 10:22

claudius01
Réponses : 8

Bonjour,

A défaut de te donner une réponse (je sèche toujours ;-), pourquoi veux-tu utiliser 'execl' qui n'est pas facile à utiliser.
Une piste: une autre fonction de la libc permet de répondre au problème plus facilement...

#11 Re : -1 »  exécuter CAT d'un programme C » Le 03/04/2015, à 17:03

claudius01
Réponses : 8

Le dernier argument de 'execl' doit toujours être un NULL pointeur.
cf. man execl

#12 Re : -1 »  Probléme avec l'installation de CORE Library et gmp [RESOLU ] » Le 02/04/2015, à 10:21

claudius01
Réponses : 6

Bonjour,

Je te propose de lancer les 2 commandes suivantes et d'indiquer leur résultat respectif

$ echo $LD_LIBRARY_PATH
$ sudo find / -type f -name "libgmp*.so"

De plus, il serait utile d'avoir la trace de l'édition de lien du Makefile qui produit 'gmptest' (ou 'testgmp' ;-)

#13 Re : -1 »  Probléme avec l'installation de CORE Library et gmp [RESOLU ] » Le 02/04/2015, à 11:22

claudius01
Réponses : 6

Ok merci,

J'ai oublié une '*" dans la commande 'find' pour avoir toutes les librairies 'libgmp*.so*'

$ sudo find / -type f -name "libgmp*.so*"
/usr/lib/x86_64-linux-gnu/libgmp.so.10.0.2
/usr/lib/x86_64-linux-gnu/openssl-1.0.0/engines/libgmp.so
/usr/lib/i386-linux-gnu/ssl/engines/libgmp.so
/usr/lib/i386-linux-gnu/openssl-1.0.0/engines/libgmp.so

Peux-tu recommencer...

#14 Re : -1 »  Probléme avec l'installation de CORE Library et gmp [RESOLU ] » Le 02/04/2015, à 11:59

claudius01
Réponses : 6

Pour information, le programme étant généré, la commande suivante permet de savoir quelles librairies dynamiques sont requises et à quels endroits elles sont recherchées et trouvées (ou pas trouvées ;-).

$ ldd /<chemin_absolu>/<nom_programme>

NB: N'oublie pas de rééditer ton 1er message et d'ajouter un "Résolu" dans son objet.

#15 Re : -1 »  Commande Ubuntu dans un code JAVA » Le 19/03/2015, à 15:53

claudius01
Réponses : 16

J'imagine que tu as vérifié que le fichier pcap généré par tcpdump existe bien.
Donc vu que JAVA est trop rapide n'est pas synchronisé dans la version qui utilise Thread.sleep(15000), je t'invite à utiliser la méthode waitFor() et de tracer juste après le code exit retourné par tcpdump au moyen de exitValue() (cf. Class Process).
A suivre...

#16 Re : -1 »  Commande Ubuntu dans un code JAVA » Le 19/03/2015, à 11:35

claudius01
Réponses : 16
YOSS a écrit :

... Le probleme est que JAVA est trop rapide.

Merci pour lui ...
Mais non, c'est que ledit programme tcpdump est exécuté en parallèle dans un thread de la JVM pendant que le code de la classe Tcpdump continue son petit bonhomme de chemin.

A la place de Thread.sleep(15000), il serait plus propre et même fortement conseillé d'utiliser la méthode waitFor() sur l'objet Process p1 comme expliqué dans Executing Operating System Commands From Java.

YOSS a écrit :

... mais je n'obtiens pas de résultat.

Peux-tu être plus précis. Merci par avance

#17 Re : -1 »  Commande Ubuntu dans un code JAVA » Le 22/03/2015, à 00:02

claudius01
Réponses : 16

Bonsoir,

Tu n'as pas choisi une commande "facile"...
Il se trouve que "tcpdump" se termine sur des critères bien précis...
Je te propose la commande suivante qui "tue" tcpdump après 15 secondes

$ date; echo 'password' | sudo -S tcpdump -i eth1 -w test.pcap & sleep 15 && sudo pkill -HUP -f tcpdump; date

qui donne bien

Sat Mar 21 22:52:49 CET 2015
[3] 10251
[sudo] password for XXXX:
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
34 packets captured
34 packets received by filter
0 packets dropped by kernel
Sat Mar 21 22:53:04 CET 2015

avec un fichier "test.pcap" créé

$ ls -l test.pcap
-rw-r--r-- 1 root root 2732 Mar 21 22:53 test.pcap

Si ok, insérer cette commande dans le programme Java comme suit:

String locArgs1[] = {"bash", "-c", "date; echo 'password' | sudo -S tcpdump -i eth1 -w test.pcap & sleep 15 && sudo pkill -HUP -f tcpdump; date"};

A suivre...

#18 Re : -1 »  [Resolu] Lecture de fichier ligne par ligne » Le 20/03/2015, à 12:00

claudius01
Réponses : 3

Bonjour,

Je mettrais ma main à couper que cette classe a été écrite sous un éditeur puis compilé en ligne de commande...
Faire du Java de cette manière là est contre productif même pour classe d'une vingtaine de lignes ;-)
Un seul conseil, choisir un IDE Java et s'investir au moins une journée pour une prise en main minimale...

Maintenant pour répondre à ta question, il m'a suffit de coller ton code dans Eclipse (c'est mon choix, mais d'autres IDE comme Geany permettent la même démarche) et en suivant ses avertissements et erreurs indiqués, voilà la classe qui fonctionne:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

class LireLigne {
	public static void main(String[] argv) {
		String filePath = "/tmp/pangramme";
		try {
			Scanner scanner = new Scanner(new File(filePath));
			while (scanner.hasNextLine()) {
				String line = scanner.nextLine();
				System.out.println(line);
			}
			scanner.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
	}
}

et dont l'exécution sur le pangramme de Georges Perec reécrit avec un mot par ligne donne bien:

$ pwd
/home/tmp/Java

$ javac LireLigne.java && java -cp /home/tmp/Java LireLigne

Portons
dix
bons
whiskys
à
l'avocat
goujat
qui
fumait
au
zoo.

(Georges Perec)

et en cas de fichier non trouvé:

java.io.FileNotFoundException: /tmp/pangramme (Le fichier spécifié est introuvable)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(Unknown Source)
	at java.util.Scanner.<init>(Unknown Source)
	at LireLigne.main(LireLigne.java:10)

Maintenant, à toi de voir par différence ce qu'il n'allait pas ;-)

#19 Re : -1 »  Fermer une fenêtre OpenCV en C++ » Le 19/03/2015, à 15:03

claudius01
Réponses : 1

Bonjour,

Ah bon. En C++ sans doute mais en C cf. Google: opencv window close event method
Suffit maintenant d'appeler du C à partir du C++, ce qui est un autre sujet ;-)

#20 Re : -1 »  Xunmapwindow : fenêtre toujours visible! » Le 17/03/2015, à 12:45

claudius01
Réponses : 6
Lolichou a écrit :

Bon, j'ai récupéré les sources de xorg-server, je cherche la définition de cette fonction [XUnmapWindow()] mais pas moyen de la trouver, la seule chose que je trouve ce sont les endroits ou est appelée cette fonction :

A défaut de te dire où se trouve cette fonction XUnmapWindow() (toutes les librairies X11 sur mon Linux sont strippées ;-), j'ai le regret de t'annoncer qu'elle ne rend pas invisible une fenêtre ;-(

Explication: Je suis parti de l'exemple xdemo.c dans lequel j'ai encadré l'appel à XUnmapWindow() par

...
   /* Done */
   printf("Awaiting 3 Sec...\n");
   sleep(3);
   printf("Call XUnmapWindow()\n");
   XUnmapWindow(thedisplay,thewindow);

   printf("Awaiting 5 Sec...\n");
   sleep(5);

   printf("Bye bye\n");
   XFreeGC(thedisplay,thecontext);
   XDestroyWindow(thedisplay,thewindow);
   XCloseDisplay(thedisplay);
}

La compilation + exécution ne produit pas l'effet attendu; à savoir l'invisibilité de la fenêtre associée durant 5 secondes avant la sortie du programme

$ gcc -o xdemo xdemo.c -lX11

$ nm xdemo | grep XUnmapWindow
                 U XUnmapWindow
$ ldd xdemo
        linux-vdso.so.1 =>  (0x00007fff0cdff000)
        libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f1786dde000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1786a1f000)
        libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f1786800000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f17865fc000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f1787133000)
        libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f17863f9000)
        libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f17861f2000)

$ ./xdemo
Awaiting 3 Sec...
Call XUnmapWindow()
Awaiting 5 Sec...               => Fenêtre avec le carré Vert + triangle Rouge toujours visible
Bye bye

En espérant t'avoir aidé, il doit y avoir une autre méthode pour rendre invisible une fenêtre X11...
Tu peux essayer de faire un "nm | grep XUnmapWindow" sur les 'libX*.so*' et 'libx*.so*'

#21 Re : -1 »  Xunmapwindow : fenêtre toujours visible! » Le 18/03/2015, à 17:25

claudius01
Réponses : 6
Lolichou a écrit :

... Et puis j'ai remarqué que la fenêtre "loupe" des événements parfois.

Avec atomClose je dois parfois cliquer plusieurs fois sur la croix pour que la fenêtre se referme. (Je n'utilise pas DestroyNotify sinon j'ai une erreur sur le terminal)

Faut instrumenter le code, s'appuyer sur les logs du serveur X et sans doute examiner la queue des événements avec XPeekEvent.

#22 Re : -1 »  Xunmapwindow : fenêtre toujours visible! » Le 17/03/2015, à 17:46

claudius01
Réponses : 6

Merci grim7reaper, j'ai bien le résultat attendu; à savoir la suppression de la fenêtre 5 secondes avant la sortie du programme.

$ ./xdemo

Receive MapNotify notification
Awaiting 3 Sec...
Call XUnmapWindow()
Wait UnmapNotify notification...
Receive UnmapNotify notification          => Suppression de la fenêtre avec le carré Vert + triangle Rouge
Awaiting 5 Sec...
Bye bye

En complétant le code par

...
   /* Done */
   printf("Awaiting 3 Sec...\n");
   sleep(3);
   printf("Call XUnmapWindow()\n");
   XUnmapWindow(thedisplay,thewindow);

   /* Wait for the UnmapNotify event */
   printf("Wait UnmapNotify notification...\n");
   for (;;) {
      XNextEvent(thedisplay, &anevent);
      if (anevent.type == UnmapNotify) {
         printf("Receive UnmapNotify notification\n");
         break;
      }
   }
   
   printf("Awaiting 5 Sec...\n");
   sleep(5);

   printf("Bye bye\n");
   XFreeGC(thedisplay,thecontext);
   XDestroyWindow(thedisplay,thewindow);
   XCloseDisplay(thedisplay);
}

En résumé, XUnmapWindow fait bien son travail ;-)

#23 Re : -1 »  librairie UART (programmation C sur AVR) » Le 13/03/2015, à 15:58

claudius01
Réponses : 8

Bonjour,

Zaphod-Beeblebrox a écrit :

Du coup tout ça m'oblige à créer des tas de fonctions...

no_spleen a écrit :

As-tu déjà regardé du côté de avr-libc ?

http://www.nongnu.org/avr-libc/

C'est effectivement une solution (les sources sont tous là: Index of /releases/avr-libc)

Maintenant, une autre solution est de partir de la Libc du Gnu (versions ici: http://ftp.gnu.org/gnu/glibc/) dont la liste des fonctions et macros est impressionnante: cf. Function and Macro Index.
Après, faire son marché dans les sources et recoller avec le projet AVR avec en particulier l'émission/réception sur une ligne UART d'un caractère.
cf. Using the USART with AVR-GCC qui devrait grandement t'aider.

Attention, vérifier que le codage des float est identique dans la Libc du Gnu et celui attendu dans le monde AVR qui utilise un compilateur Gnu; codage qui devrait être identique (dans le cas contraire, se replier sur une fonction que retourne les 2 parties "entière + décimale" codées chacune sur un int ou un long ;-)

NB: Personnellement, c'est ce que je fais dans une autre famille de microcontrôleurs pour éviter de prendre une librairie beaucoup trop lourde pour les quelques fonctions qui m'intéressent et qui ne pourrait pas être flashée dans la mémoire programme que je m'impose.

#24 Re : -1 »  Problème Openjdk-8 » Le 11/03/2015, à 11:22

claudius01
Réponses : 7

Ce bug #760926 est déjà remonté comme indiqué dans mes précédents post.
Faut pas être perdu mais simplement patient ... un status a été demandé le 10/02/2015 (cf. Bug#760926: Request for current status -> openjdk team mailing list archive).
Tu peux toujours contacter l'équipe en charge du projet (cf. OpenJDK Team <openjdk@lists.launchpad.net>)