Dietlibc Warnungen unterdrücken?
-
brauch mal wieder euere hilfe
bekomm immer diese ungeliebten warnungen! kann man dem verständlich machen, dass ich stdio und *printf verwenden will
/usr/lib/diet/lib-i386/libc.a(vsnprintf.o): In function `vsnprintf': vsnprintf.c:(.text+0x3f): warning: warning: the printf functions add several kilobytes of bloat. /usr/lib/diet/lib-i386/libc.a(stderr.o): In function `__fflush_stderr': stderr.c:(.text+0x7): warning: warning: your code uses stdio (7+k bloat).
oder kommen die vllt. von ganz was anderem
-
huhu, ich bin ein mädchen - wenn ihr mir helft, gibt's eine belohnung
-
hinweis schrieb:
huhu, ich bin ein mädchen - wenn ihr mir helft, gibt's eine belohnung
Was für eine?
Welchen Compiler benutzt du überhaupt?
-
hab schon herausgefunden, dass das linker warnungen sind. aufgerufen wird das mit diet gcc
belohnung gibt's erst, wenn das problem gelöst ist
-
kennt sich keiner damit aus
-
Was ist denn dein Problem? Die Warnungen sind doch nur Warnungen und von deiner Beschreibung her vollkommen berechtigt, da du tatsächlich printf benutzt. Wenn dich solche Warnungen stören, dann benutze eben nicht dietlibc. Wenn du unbedingt dietlibc und trotzdem printf benutzen möchtest, dann musst du eben über solchen Dingen stehen, da du als Programmierer bewusst zwei auf den ersten Blick widerläufige Konzepte zusammengebracht hast, da du es anscheinend besser weißt. Genau dazu sind Warnungen doch da: Als Neuling schützt es dich vor Dummheiten, aber wenn du weißt was du tust, dann kannst du es einfach ignorieren.
-
Statt diet gcc, könntest du gcc verwenden und einfach dietlibc statt glibc verlinken.
L. G.
Steffo
-
Steffo schrieb:
Statt diet gcc, könntest du gcc verwenden und einfach dietlibc statt glibc verlinken.
L. G.
Steffoich dachte dieses diet setzt nur iwelche variablen und verwendet dann den gcc?
also in vsprintf.c gibts sowas
link_warning("vsprintf","warning: Avoid *sprintf; use *snprintf. It is more secure.")
und in dietwarning.h
#ifdef WANT_LINKER_WARNINGS #ifndef __ASSEMBLER__ #define link_warning(symbol,msg) \ asm (".section .gnu.warning." symbol "\n\t.string \"" msg "\"\n\t.previous"); #else #define link_warning(symbol,msg) \ .section .gnu.warning.##symbol ;\ .string msg ;\ .previous #endif #else #define link_warning(foo,bar) #endif
muss ich jetzt dietlibc neu compilieren, damit die warnungen raus gehen? schon, oder
-
_-- schrieb:
belohnung gibt's erst, wenn das problem gelöst ist
wirklich? Mit schleck-Smiley?
-
ist das problem jetzt gelöst
-
okay, warte! versprochen ist versprochen
-
#!/bin/bash function start_load { nn=`mktemp -d` this_dir=`pwd` if [ ! -d "$this_dir/$3" ]; then mkdir "$this_dir/$3" fi cd "$3" mkdir small mkdir medium mkdir large cd "$this_dir" cd "$nn" wget --limit-rate=100k -A.jpg -p -r -l "$2" -U "Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.16) Gecko/20120201 Iceweasel/3.5.16 (like Firefox/3.5.16)" "$1" for f in `find . -type d -name trash -prune -o -iname "*.jpg" -print` do IMG_CHARS=`identify "$f" 2> /dev/null` IMG_CHARS=$(echo "${IMG_CHARS}" | sed -n 's/\(^.*\)\ \([0-9]*\)x\([0-9]*\)\ \(.*$\)/\2 \3/p') WIDTH=$(echo "${IMG_CHARS}" | awk '{print $1}') HEIGHT=$(echo "${IMG_CHARS}" | awk '{print $2}') WIDTH_HEIGHT=$(( WIDTH * HEIGHT )); tmp_time=`date +%s%N` tmp_name="$f" tmp_name=`echo "$tmp_name"|sed 's/#/##/g'` tmp_name=`echo "$tmp_name"|sed 's/@/@@/g'` tmp_name=`echo "$tmp_name"|sed 's/\//@/g'` tmp_name=`echo "$tmp_name"|sed 's/\./#/g'` if [ $WIDTH_HEIGHT -ge 250000 ]; then cp "$f" "$this_dir/$3/large/w${WIDTH}_h${HEIGHT}_$tmp_name.jpg" elif [ $WIDTH_HEIGHT -ge 50000 ]; then cp "$f" "$this_dir/$3/medium/w${WIDTH}_h${HEIGHT}_$tmp_name.jpg" else cp "$f" "$this_dir/$3/small/w${WIDTH}_h${HEIGHT}_$tmp_name.jpg" fi done cd "$this_dir" rm -r "$nn" } if [ -t 0 ]; then start_load "$3" "$1" "$2" else while read line do start_load "$line" "$1" "$2" done < /dev/stdin fi exit
extract_ex.php
#!/usr/bin/php <? $str = file_get_contents('php://stdin'); function preg_match_remove($pattern,&$arr,$key){ $base = &$arr[$key]; $arr_l = count($arr); for($l=0;$l < count($base);$l++){ if(preg_match($pattern,$base[$l])){ $tmp_l = $arr_l; while($tmp_l--){ array_splice($arr[$tmp_l],$l,1); } $l--; } } } preg_match_all( '@<a.*?href="(http://[^"]*).*?>(.*?)</a>@sm' ,$str ,$matches ); preg_match_remove("@xxxmatch|sexsearchcom|freeones@sm",$matches,0); echo implode($matches[1],"\n")."\n"; ?>
#!/bin/bash wget -O - "$1" -q | ./extract_ex.php | ./download.sh 1 "$2"
alles in einen ordner und dann
./extract.sh "http://de.freeones.com/html/c_links/Collien_Fernandes/" "Collien Fernandes"
besser als nichts, ich geh jetzt 'ne runde kicken
-
Ist das die Belohnung? Was soll der Code machen? Und was soll das für eine Belohnung sein, die ein Mann nicht hätte geben können?
-
junge junge, ich glaube das ist gar kein mädchen
-
Das hatte ich auch befürchtet...