#926 Le 11/07/2011, à 20:01
- grim7reaper
Re : /* Topic des codeurs couche-tard [5] */
Comment lier statiquement (oui, seulement maintenant) quand les deux formes sont présentes.
Au passage, libstropt ne se lie pas dynamiquement.
grim7reaper@chaos libstropt]$make all
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 -c -o parser.o parser.c
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 -c -o user.o user.c
ar rcs libstropt.a parser.o user.o
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 -fpic parser.c -c -o parser.pic.o
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 -fpic user.c -c -o user.pic.o
gcc -s -shared -Wl,-soname,libstropt.so.1 parser.pic.o user.pic.o -o libstropt.so.1.0-a2
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 debug.c -L. -lstropt -o debug
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 -c -o test_run.o test_run.c
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 -c -o test_libstropt.o test_libstropt.c
gcc -O2 -DNDEBUG -std=c89 -pedantic -Wall -Wextra -Winit-self -Wfloat-equal -Wstrict-prototypes -Wold-style-definition -Wredundant-decls -Wwrite-strings -Wcast-qual -Wconversion -Wformat=2 test_run.o test_libstropt.o -L. -lstropt -lcunit -o test_run
grim7reaper@chaos libstropt]$ls
COPYING debug.c libstropt.a Makefile parser.h parser.pic.o stropt.h test_libstropt.h test_run test_run.o user.h user.pic.o
debug Doxyfile libstropt.so.1.0-a2 parser.c parser.o README test_libstropt.c test_libstropt.o test_run.c user.c user.o
grim7reaper@chaos libstropt]$ldd debug
linux-gate.so.1 => (0xb78c4000)
libc.so.6 => /lib/libc.so.6 (0xb7738000)
/lib/ld-linux.so.2 (0xb78c5000)
grim7reaper@chaos libstropt]$ldd test_run
linux-gate.so.1 => (0xb78c5000)
libcunit.so.1 => /usr/lib/libcunit.so.1 (0xb7894000)
libc.so.6 => /lib/libc.so.6 (0xb772c000)
/lib/ld-linux.so.2 (0xb78c6000)
J'ai l'impression qu'il ne trouve pas la version dynamique lors de la compil', il fallback sur la version statique
Dernière modification par grim7reaper (Le 11/07/2011, à 20:02)
Hors ligne
#927 Le 11/07/2011, à 20:04
- Pylades
Re : /* Topic des codeurs couche-tard [5] */
C’est fait exprès (enfin, ça tombe en marche).
Mais maintenant, je vais pouvoir faire un beau makefile.
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#928 Le 11/07/2011, à 20:16
- grim7reaper
Re : /* Topic des codeurs couche-tard [5] */
grim7reaper@chaos Developpements]$tree -d TdCCT
TdCCT
├── helly
│ └── brainfuck_interpreter
├── lagierl
│ └── brainfuck_interpreter
├── Ouranos
│ └── brainfuck_interpreter
├── Pylade
│ ├── brainfuck_interpreter
│ ├── clfb
│ └── libstropt
├── Rolinh
│ └── lincopier
├── The_Uploader
│ └── gauge
└── tshirtman
├── qixfix
└── ultimate-smash-friends
:]
Dernière modification par grim7reaper (Le 11/07/2011, à 20:19)
Hors ligne
#929 Le 11/07/2011, à 20:22
- Pylades
Re : /* Topic des codeurs couche-tard [5] */
T’as récupéré le code de mon implémentation du CLFB ?
J’ai dû louper un épisode…
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#930 Le 11/07/2011, à 20:27
- grim7reaper
Hors ligne
#931 Le 11/07/2011, à 20:32
- The Uploader
Re : /* Topic des codeurs couche-tard [5] */
Hey j'ai aussi ça qui traîne : http://ampshell.tuxfamily.org .... (et qui marche). Si tu veux voir un truc qui marche bien. (pas de dépôt git, sources dans une archive)
Mais c'est du .NET.. Du C# qui tâche! Et je n'y touche plus depuis longtemps. ;-)
(et puis sous Xfce j'ai remplaçé ça par des beaux lanceurs... )
PS : ça ne fonctionne plus sous Mono depuis longtemps (jamais su pourquoi.. c'était pas le but en même temps, juste une curiosité au cours du développement..)
Dernière modification par The Uploader (Le 11/07/2011, à 20:34)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#932 Le 11/07/2011, à 20:33
- grim7reaper
Re : /* Topic des codeurs couche-tard [5] */
Jt'avouerais que chui pas spécialement chaud pour installer Mono rien que pour ça.
Ruby, no problem.
Mais Mono ^^"
Hors ligne
#933 Le 11/07/2011, à 20:35
- The Uploader
Re : /* Topic des codeurs couche-tard [5] */
edit/re-post: ça ne fonctionne plus sous Mono depuis longtemps (jamais su pourquoi.. c'était pas le but en même temps, juste une curiosité au cours du développement..).
T'façon Mono saylemal!
(bon, si je faisais du bô Ruby moi..)
Dernière modification par The Uploader (Le 11/07/2011, à 20:36)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#934 Le 11/07/2011, à 20:36
- helly
Re : /* Topic des codeurs couche-tard [5] */
BN 1 point.
Archlinux-wmii-dwb.
Un problème résolu ? Faites le savoir en mettant [résolu] à côté du titre de votre topic.
Un problème non résolu ? Faites le savoir en insultant ceux qui cherchent à vous aider.
Un site bleu super remasterised©, un wiki cherchant des volontaires pour traduire un site.
Hors ligne
#935 Le 11/07/2011, à 20:41
- grim7reaper
Re : /* Topic des codeurs couche-tard [5] */
edit/re-post: ça ne fonctionne plus sous Mono depuis longtemps (jamais su pourquoi.. c'était pas le but en même temps, juste une curiosité au cours du développement..).
Ok, bah comme ça c'est vite vu alors.
Hors ligne
#936 Le 11/07/2011, à 20:42
- Pylades
Re : /* Topic des codeurs couche-tard [5] */
Ah, ben j’avais oublié que j’avais lâché un truc moche.
Sinon, comment on fait en GNU Make pour ne sélectionner que la partie avant le premier « . » d’une variable ? Je suis peut-être à côté de mes pompes, là (en fait je suis à côté de mes pompes) ; mais je ne trouve pas.
Dernière modification par Πυλάδης (Le 11/07/2011, à 20:42)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#937 Le 11/07/2011, à 21:01
- grim7reaper
Re : /* Topic des codeurs couche-tard [5] */
Sinon, comment on fait en GNU Make pour ne sélectionner que la partie avant le premier « . » d’une variable ? Je suis peut-être à côté de mes pompes, là (en fait je suis à côté de mes pompes) ; mais je ne trouve pas.
Ça :
$(basename names...)
Extracts all but the suffix of each file name in names. If the file name contains a period, the basename is everything starting up to (and not including) the last period. Periods in the directory part are ignored. If there is no period, the basename is the entire file name. For example,
$(basename src/foo.c src-1.0/bar hacks)
produces the result ‘src/foo src-1.0/bar hacks’
?
Dernière modification par grim7reaper (Le 11/07/2011, à 21:01)
Hors ligne
#938 Le 11/07/2011, à 21:54
- tshirtman
Re : /* Topic des codeurs couche-tard [5] */
@grim: j'avais pas laché un interpréteur BF aussi? une traduction d'un codé en ruby vu dans une vidéo je crois…
enfin, bon, ça vaut pas pépètes…
Bon, j'ai un projet un peu mort que je vais finir par pusher sur github moi, c'est un bon début de shoot them up horizontal, mais j'ai arrété au moment d'implémenter les bonus…
Hors ligne
#939 Le 11/07/2011, à 22:00
- grim7reaper
Re : /* Topic des codeurs couche-tard [5] */
@tshirtman : si, mais si mes souvenir sont bon il n'était pas fonctionnel (tu sais, l'histoire du getc en Python).
Donc c'est pour ça que je ne l'avais pas récupéré.
Dernière modification par grim7reaper (Le 11/07/2011, à 22:00)
Hors ligne
#940 Le 11/07/2011, à 22:19
- tshirtman
Re : /* Topic des codeurs couche-tard [5] */
ah oui peut être…
Hors ligne
#941 Le 11/07/2011, à 22:39
- The Uploader
Re : /* Topic des codeurs couche-tard [5] */
git clone git@gitorious.org:gauge/gauge.git
#!/usr/bin/env ruby
require "rubygems"
require "rubygame"
$LOAD_PATH << './lib'
require 'interactive_element.rb'
include Rubygame
class ObserverQueue < EventQueue
include Rubygame::MailQueue
end
class Game
attr_accessor :obs_queue
def initialize
@screen = Screen.open([640, 480], 0, [HWSURFACE, DOUBLEBUF])
@screen.title = "Gauge"
@event_queue = EventQueue.new
@event_queue.enable_new_style_events
@obs_queue = ObserverQueue.new
@obs_queue.enable_new_style_events
@clock=Clock.new
@clock.target_framerate=10
@clock.calibrate
@element=InteractiveElement.new(self)
@element.subscribe(Rubygame::Events::MouseMoved)
end
def run
loop do
update
@clock.tick
end
end
def update
@event_queue.each do |event|
#puts event
case event
when Events::QuitRequested
Rubygame.quit
exit
else
puts @obs_queue.subscribed?(@element, Rubygame::Events::MouseMoved)
@obs_queue.push(event)
@obs_queue.deliver
end
end
end
end
game = Game.new
game.run
lib/interactive_element.rb:
require "rubygems"
require "rubygame"
include Rubygame
class InteractiveElement
attr_accessor :game
attr_accessor :subscriptions
def initialize(game)
@game = game
@subscriptions = []
end
def subscribe(event)
@subscriptions << event
@game.obs_queue.subscribe(self, event)
end
def push
end
end
basé sur l'exemple 'rubyoh' : http://rubyoh.rubyforge.org/svn/mooc/ (notamment /lib/gameui/widget.rb)
Bon ça subscribe bien, mais ça push pas encore... :
subscribe(client,klass)
Subscribe client to receive events that match klass.
After the client object has been subscribed, the MailQueue will push along any event for which “klass === event” is true. This usually means that the event is an instance of klass or one of klass’s child classes; however, note that klass may have changed its own #=== operator to have different behavior, so this is not always the case.
Important: the MailQueue uses the client’s push method to deliver events! If the client does not have such a method, MailQueue will silently catch the error and move on to the next client.
A client object may be subscribed for many different types of events simultaneously, and more than one client object may be subscribed to any type of event (in which case each object will receive the event). A client may also be subscribed multiple times for the same type (in which case it will receive duplicate events). Likewise, the client will receive duplicates if it is subscribed to multiple classes which share ancestry, for example Numeric and Float.
If a client wishes to receive ALL types of events, it can subscribe to Object, which is a parent class of all objects.
If the queue’s @autodeliver is true, it will deliver events to subscribers immediately after they are posted, rather than waiting for deliver to be called.
(bon c'est juste le pattern observer, rien de bien méchant ;-) )
ça avance! \o/
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#942 Le 11/07/2011, à 23:19
- tshirtman
Re : /* Topic des codeurs couche-tard [5] */
hop, tant qu'a faire…
Hors ligne
#943 Le 11/07/2011, à 23:59
- Кຼزດ
Re : /* Topic des codeurs couche-tard [5] */
flyyyy
dou
Hors ligne
#944 Le 12/07/2011, à 00:05
- Pylades
Re : /* Topic des codeurs couche-tard [5] */
@ grim7reaper : non, basename ne fonctionne pas. En fait, je cherche à écrire le soname à partir du numéro de version, donc il faut que je stoppe au premier point rencontré. Le pire, c’est que je ne vois pas comment faire ça avec patsubst…
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#945 Le 12/07/2011, à 00:07
- The Uploader
Re : /* Topic des codeurs couche-tard [5] */
hop, tant qu'a faire…
Impressionnant, le shoot them up, pour un projet "récréationnel"!
Cela t'a pris combien de temps (effectif) ?
(tiens d'ailleurs, je vais devoir de toute façon implémenter les collisions à un moment; 'fin pas tout de suite..)
Bonne nuit.
Dernière modification par The Uploader (Le 12/07/2011, à 00:07)
- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10
Hors ligne
#946 Le 12/07/2011, à 00:20
- tshirtman
Re : /* Topic des codeurs couche-tard [5] */
hum, quelques jours, un peu en cours, dans le métro, toussa… mais bon, t'as les dates dans les commits
le boulot s'est étalés sur 3 semaines (du 4 au 25 janvier, déjà, comme le temps passe…)
Hors ligne
#947 Le 12/07/2011, à 01:12
- cm-t
Re : /* Topic des codeurs couche-tard [5] */
'Nuit;
Actu Ubuntu ☺/
Pauses Ubuntu sur Paris \_< -t
[(π)] La Quadrature du net
Hors ligne
#948 Le 12/07/2011, à 01:51
- Pylades
Re : /* Topic des codeurs couche-tard [5] */
, comme il a fait une cure d’amaigrissement drastique mon makefile pour Libstropt !
Bon, je n’ai toujours pas trouvé pour deviner le soname ; mais maintenant ça se lie en statique aussi bien qu’en dynamique, tout comme il faut (même si je ne lie les exécutables de debug qu’en statique).
Dernière modification par Πυλάδης (Le 12/07/2011, à 02:02)
“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
Linus Torvalds – 12 janvier 2003
Hors ligne
#949 Le 12/07/2011, à 02:02
- nesthib
Re : /* Topic des codeurs couche-tard [5] */
plop
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#950 Le 12/07/2011, à 02:05
- Sir Na Kraïou
Re : /* Topic des codeurs couche-tard [5] */
Æ
Descendant de Charlemagne et de LUCA.
Bleu, en l'hommage d'un truc bleu. :'(
C'est pas du bleu.
C'est pas le lac de Genève, c'est le Lac Léman.
Hors ligne