Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#926 Le 11/07/2011, à 20:01

grim7reaper

Re : /* Topic des codeurs couche-tard [5] */

Πυλάδης a écrit :

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 hmm

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. smile


“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 ? yikes

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

Re : /* Topic des codeurs couche-tard [5] */

Ouais t'avais posté un vieux bout de code à un moment.
Truc pas terrible d'ailleurs, c'était plus ou moins ton premier jet et ta première tentative de Readline.

Édit : ha, c'était ici !

Dernière modification par grim7reaper (Le 11/07/2011, à 20:32)

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. tongue (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... cool )

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..). hmm

T'façon Mono saylemal! mad
(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] */

The Uploader a écrit :

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..). hmm

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] */

Πυλάδης a écrit :

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 :

http://www.gnu.org/software/make/manual/html_node/File-Name-Functions.html#File-Name-Functions a écrit :

$(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

#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... :

http://rubygame.org/docs/rdoc/2.6.2/classes/Rubygame/MailQueue.html#M000154 a écrit :

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

#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] */

tshirtman a écrit :

hop, tant qu'a faire…

https://github.com/tshirtman/fly

yikes

Impressionnant, le shoot them up, pour un projet "récréationnel"! yikes
Cela t'a pris combien de temps (effectif) ? yikes

(tiens d'ailleurs, je vais devoir de toute façon implémenter les collisions à un moment; 'fin pas tout de suite..)

Bonne nuit. smile

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 tongue

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] */

yikes, 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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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