<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mad93's bloc &#187; Programació</title>
	<atom:link href="http://bloc.majomo.com/category/prog/feed/" rel="self" type="application/rss+xml" />
	<link>http://bloc.majomo.com</link>
	<description>Un bloc més a la xarxa</description>
	<lastBuildDate>Fri, 09 Apr 2010 21:32:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Emprar el Tomcat d&#8217;Ubuntu a Eclipse</title>
		<link>http://bloc.majomo.com/emprar-el-tomcat-dubuntu-a-eclipse/</link>
		<comments>http://bloc.majomo.com/emprar-el-tomcat-dubuntu-a-eclipse/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 21:32:31 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[java tomcat eclipse ubuntu]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=129</guid>
		<description><![CDATA[Trastejant amb l'eclipse per provar de fer una aplicació web amb Java, concretament amb el servidor Tomcat, m'he trobat que l'Eclipse esperava que la instal·lació de Tomcat fos l'estandar, i a Ubuntu s'han canviat les ubicacions dels fitxers. Així doncs hi ha dues solucions, instal·lar el tomcat mitjaçant el tar.gz de la seva web, o [...]]]></description>
			<content:encoded><![CDATA[<p>Trastejant amb l'eclipse per provar de fer una aplicació web amb Java, concretament amb el servidor Tomcat, m'he trobat que l'Eclipse esperava que la instal·lació de Tomcat fos l'estandar, i a Ubuntu s'han canviat les ubicacions dels fitxers. Així doncs hi ha dues solucions, instal·lar el tomcat mitjaçant el tar.gz de la seva web, o fer alguns enllaços simbólics. La darrera opció m'ha semblat més 'neta'.</p>
<p>Per fer-ho senzillament hem d'escriure:</p>
<pre>
sudo apt-get install tomcat6
cd /usr/share/tomcat6
sudo ln -s /var/lib/tomcat6/conf conf
sudo ln -s /etc/tomcat6/policy.d/03catalina.policy conf/catalina.policy
sudo ln -s /var/log/tomcat6 log
sudo chmod -R 777 /usr/share/tomcat6/conf
</pre>
<p>Llavors només queda que al definir el nostre servidor a l'Eclipse li donem la ruta /var/lib/tomcat i ja podem començar el nostre projecte.</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/emprar-el-tomcat-dubuntu-a-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convertir la codificació de tots els templates d&#8217;un directori</title>
		<link>http://bloc.majomo.com/convertir-la-codificacio-de-tots-els-templates-dun-directori/</link>
		<comments>http://bloc.majomo.com/convertir-la-codificacio-de-tots-els-templates-dun-directori/#comments</comments>
		<pubDate>Fri, 21 Aug 2009 10:43:08 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[iconv]]></category>
		<category><![CDATA[iso-8859-1]]></category>
		<category><![CDATA[latin1]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[utf-8]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=110</guid>
		<description><![CDATA[He hagut de canviar la codificació d'uns templates d'ISO-8859-1 a UTF-8 que estaven tots ens dos directoris. Per no fer-ho a mà, ho he fet amb un script en bash per a convertir-los ràpida i fàcilment. Aquí l'script:
#!/bin/bash
for i in `find *.tpl -type f -print`;
do
iconv -f ISO-8859-1 -t UTF-8 $i -o $i.new;
mv -f $i.new $i;
done
]]></description>
			<content:encoded><![CDATA[<p>He hagut de canviar la codificació d'uns templates d'ISO-8859-1 a UTF-8 que estaven tots ens dos directoris. Per no fer-ho a mà, ho he fet amb un script en bash per a convertir-los ràpida i fàcilment. Aquí l'script:</p>
<pre class="bash"><span style="color: #808080; font-style: italic;">#!/bin/bash</span>
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> `<span style="color: #c20cb9; font-weight: bold;">find</span> *.tpl -<span style="color: #7a0874; font-weight: bold;">type</span> f -print`;
<span style="color: #000000; font-weight: bold;">do</span>
iconv -f ISO<span style="color: #000000;">-8859</span><span style="color: #000000;">-1</span> -t UTF<span style="color: #000000;">-8</span> <span style="color: #007800;">$i</span> -o <span style="color: #007800;">$i</span>.new;
<span style="color: #c20cb9; font-weight: bold;">mv</span> -f <span style="color: #007800;">$i</span>.new <span style="color: #007800;">$i</span>;
<span style="color: #000000; font-weight: bold;">done</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/convertir-la-codificacio-de-tots-els-templates-dun-directori/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generar i mostrar el MD5 d&#8217;un fitxer o cadena</title>
		<link>http://bloc.majomo.com/generar-i-mostrar-el-md5-dun-fitxer-o-cadena/</link>
		<comments>http://bloc.majomo.com/generar-i-mostrar-el-md5-dun-fitxer-o-cadena/#comments</comments>
		<pubDate>Sat, 31 Jan 2009 22:26:07 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[md5]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=79</guid>
		<description><![CDATA[Quan volem verificar el correcte enviament d'un fitxer solem emprar algorismes que generen unes cadenes  'úniques' per tal d'assegurar-nos de que l'arxiu s'ha rebut clavat a l'original. Per a una pràctica així ho he volgut fer, i després d'un parell de dies he entés per fi com anava tot el sistema (una mica lent, [...]]]></description>
			<content:encoded><![CDATA[<p>Quan volem verificar el correcte enviament d'un fitxer solem emprar algorismes que generen unes cadenes  'úniques' per tal d'assegurar-nos de que l'arxiu s'ha rebut clavat a l'original. Per a una pràctica així ho he volgut fer, i després d'un parell de dies he entés per fi com anava tot el sistema (una mica lent, sí).</p>
<p><span id="more-79"></span>Primerament hem de carregar les capçalera per a poder emprar les funcions md5 d'openssl:</p>
<pre class="c"><span style="color: #339933;">#include &lt;openssl/md5.h&gt;</span></pre>
<p>Amb això podem cridar a les funcions MD5_Init, MD5_Update i MD5_Final. Com indica el nom MD5_Init serveix per iniciar el procés de conversió, inicialitzant una variable del tipus MD5_CTX. Per a l'exemple l'anomenarem state:</p>
<pre class="c">MD5_CTX state;</pre>
<p>MD5_Update requereix 3 paràmetres. Primerament la nostra variable state, per a seguir i actualitzar el context de les dades de les que crear-ne el MD5. Segon li hem de passar una dada de tipus unsigned char, en el nostre cas anomenada buffer. Aquesta variable el que conté són les dades de les que volem que faci el MD5. Com que el buffer és una estructura dinàmica, el tercer paràmetre és un enter indicant el nombre de caràcters que ha de llegir.</p>
<pre class="c"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> *buffer;
<span style="color: #993333;">int</span> comptador;</pre>
<p>Cal tenir en compte que MD5_Update es pot cridar tantes vegades com faci falta fins a carregar totes les dades dessitjades.</p>
<p>Per acabar emprem la funció MD5_Final, que de primer paràmetre ens demana una cadena unsigned char, de 16 bytes, que serà el que es coneix com a digest (la variable l'anomenarem així), que és el MD5 en format binari. Com a darrer paràmetre l'hi passem la variable state, que conté el context del que s'ha de generar el MD5.</p>
<pre class="c"><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> *digest;</pre>
<p>Tot aquest procés ens dona el digest, que és un valor binari. Però el problema és que podem voler tractar el md5 de forma visual, en format de cadena, llegible per a una persona. Per fer això ens podem fer una petita funció a mà.</p>
<pre class="c"><span style="color: #993333;">char</span> *digestAMD5<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> *digest<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #993333;">static</span> <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> HEX_DIGITS<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #ff0000;">&quot;0123456789abcdef&quot;</span>;
  <span style="color: #993333;">char</span> *md5;
  <span style="color: #993333;">int</span> n;
&nbsp;
  md5=malloc<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">sizeof</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333;">char</span><span style="color: #66cc66;">&#41;</span>*<span style="color: #cc66cc;">33</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span>n = <span style="color: #cc66cc;">0</span>; n &lt; <span style="color: #cc66cc;">16</span>; n++<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#123;</span>
    md5<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span>*n<span style="color: #66cc66;">&#93;</span>   = HEX_DIGITS<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#40;</span>digest<span style="color: #66cc66;">&#91;</span>n<span style="color: #66cc66;">&#93;</span> &gt;&gt; <span style="color: #cc66cc;">4</span><span style="color: #66cc66;">&#41;</span> &amp; 0x0f<span style="color: #66cc66;">&#93;</span>;
    md5<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">2</span>*n<span style="color: #cc66cc;">+1</span><span style="color: #66cc66;">&#93;</span> = HEX_DIGITS<span style="color: #66cc66;">&#91;</span>digest<span style="color: #66cc66;">&#91;</span>n<span style="color: #66cc66;">&#93;</span> &amp; 0xf<span style="color: #66cc66;">&#93;</span>;
  <span style="color: #66cc66;">&#125;</span>
  md5<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">32</span><span style="color: #66cc66;">&#93;</span> = <span style="color: #cc66cc;">0</span>;
&nbsp;
  <span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#40;</span><span style="color: #993333;">char</span> *<span style="color: #66cc66;">&#41;</span> md5;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Aquesta funció ens generaria un MD5 legible per a una persona. Un exemple per veure-ho funcionant tot junt:</p>
<pre class="c"><span style="color: #339933;">#include &lt;openssl/md5.h&gt;</span>
<span style="color: #993333;">int</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
  <span style="color: #993333;">unsigned</span> <span style="color: #993333;">char</span> *buffer, *digest;
  <span style="color: #993333;">int</span> comptador;
  <span style="color: #993333;">char</span> *md5;
  MD5_CTX state;
&nbsp;
  <span style="color: #808080; font-style: italic;">//Demanem memòria per a les nostres cadenes</span>
  digest=malloc<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">sizeof</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333;">char</span><span style="color: #66cc66;">&#41;</span>*<span style="color: #cc66cc;">16</span><span style="color: #66cc66;">&#41;</span>;
  md5=malloc<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">sizeof</span><span style="color: #66cc66;">&#40;</span><span style="color: #993333;">char</span><span style="color: #66cc66;">&#41;</span>*<span style="color: #cc66cc;">33</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #808080; font-style: italic;">//El md5 és de 32 caràcters, en posem un més per poder-hi afegir el byte de fi de cadena.</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//Carreguem el buffer del lloc que necessitem</span>
  <span style="color: #808080; font-style: italic;">//Això ja depen d'on extrequi cadascú la informació de la que vol fer-ne el md5</span>
&nbsp;
  <span style="color: #808080; font-style: italic;">//Inicialitzem el entorn</span>
  MD5_Init<span style="color: #66cc66;">&#40;</span>&amp;state<span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">//Afegim les dades del buffer. Es pot anar cridant aquesta funció les vegades que faci falta</span>
  MD5_Update<span style="color: #66cc66;">&#40;</span>&amp;state, buffer, comptador<span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">//Genera el digest de les dades enviades. Recordem que no poden ser visualitzades per una persona</span>
  MD5_Final<span style="color: #66cc66;">&#40;</span>digest, &amp;state<span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">//Generem una cadena amb el MD5, ara sí, en format llegible per a una persona</span>
  md5=digestAMD5<span style="color: #66cc66;">&#40;</span>digest<span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">//Afegir caràcter de fi de cadena per a que el printf ens mostri correctament la nostra cadena</span>
  md5<span style="color: #66cc66;">&#91;</span><span style="color: #cc66cc;">32</span><span style="color: #66cc66;">&#93;</span>=<span style="color: #ff0000;">'<span style="color: #000099; font-weight: bold;">\0</span>'</span>;
  <a href="http://www.opengroup.org/onlinepubs/009695399/functions/printf.html"><span style="color: #000066;">printf</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;El MD5 val: %s&quot;</span>, md5<span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>Sembla i és una tonteria, però m'hi he trencat les banyes un parell de dies per a poder-ho fer servir...</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/generar-i-mostrar-el-md5-dun-fitxer-o-cadena/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Autocompletació a Kdevelop per  a QT</title>
		<link>http://bloc.majomo.com/autocompletacio-a-kdevelop-per-a-qt/</link>
		<comments>http://bloc.majomo.com/autocompletacio-a-kdevelop-per-a-qt/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 13:02:52 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[KDeveloper]]></category>
		<category><![CDATA[Qt4]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=65</guid>
		<description><![CDATA[Aquests dies he estat remenant el Visual Studio, que es pot dir el que es vulgui, però el seu editor és molt bo. Ara que ja sé una mica com va el C# i com fer-ho rutllar tot, volia fer el mateix però amb les QT. El entorn que he triat per a desenvolupar és [...]]]></description>
			<content:encoded><![CDATA[<p>Aquests dies he estat remenant el Visual Studio, que es pot dir el que es vulgui, però el seu editor és molt bo. Ara que ja sé una mica com va el C# i com fer-ho rutllar tot, volia fer el mateix però amb les QT. El entorn que he triat per a desenvolupar és kdevelop, però hi trobava a faltar una funcionalitat molt important, l'autocompletació de codi.</p>
<p><span id="more-65"></span></p>
<p>Així que m'he posat a remenar per a trobar com dir-li que em completés el codi automàticament. Per fer-ho he anat al menú Projecte-&gt;Opcions de Projecte. Allí he anat al Suport de C++ i he marcat la casella Automatic code completion a la pestanya Code completion. Això activa la autocompletació de codi, però encara no en té idea de les llibreries de qt. Per a afegir el suport per a les QT a la mateixa pestanya busquem el quadre Base de dades per al completat de codi i premem el botó afegeix.</p>
<p>En el meu cas he triat Importador de PCS de Qt4 per a KDevelop i llavors he especificat la ruta a les meves llibreries de qt4 ( /usr/include/qt4 , en el meu cas). Ha estat una estona fent la base de dades i ja he tingut la autocompletació de codi activada!!</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/autocompletacio-a-kdevelop-per-a-qt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pràctica d&#8217;ASO</title>
		<link>http://bloc.majomo.com/practica-daso/</link>
		<comments>http://bloc.majomo.com/practica-daso/#comments</comments>
		<pubDate>Wed, 17 Sep 2008 20:33:45 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[Salle]]></category>
		<category><![CDATA[Universitats]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ASO]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[informàtica]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=56</guid>
		<description><![CDATA[Aquest any m'he passat a informàtica, ja que telecos no em portava enlloc...
Així que m'he posat a fer pràctiques de codi a sac. Entre elles es troba la d'ASO (Administració de Sistemes Operatius), que té com a pràctica muntar un linux (kernel inclòs) amb gestió d'usuaris mitjançant ldap, servidor apache, repositòri subversion i que sigui [...]]]></description>
			<content:encoded><![CDATA[<p>Aquest any m'he passat a informàtica, ja que telecos no em portava enlloc...</p>
<p>Així que m'he posat a fer pràctiques de codi a sac. Entre elles es troba la d'ASO (Administració de Sistemes Operatius), que té com a pràctica muntar un linux (kernel inclòs) amb gestió d'usuaris mitjançant ldap, servidor apache, repositòri subversion i que sigui capaç d'administrar tots els processos i l'ordinador mitjançant comandes de bash que són cridades via una plana web.</p>
<p>Com que consta d'uns quants passos i s'ha de documentar per a fer la memòria he pensat fer-ho aquí i així ja tenir-ho pas per pas i només haver de fer un copy&amp;paste a la memòria <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ja que s'ha de compilar el kernel i així, he tirat pel recte i he agafat gentoo (on la seva guia per aquests temes és molt detallada, i fàcil de seguir).</p>
<p>En breu la configuració del kernel per a la meva màquina, que ja quasibé està acabat (falta pulir el wifi), així com els passos a seguir per fer-ne la instal·lació mínima.</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/practica-daso/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Instal·lar code:blocks a Gentoo</title>
		<link>http://bloc.majomo.com/installar-codeblocks-a-gentoo/</link>
		<comments>http://bloc.majomo.com/installar-codeblocks-a-gentoo/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 20:42:29 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Electròncia]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[Robòtica]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[16f]]></category>
		<category><![CDATA[codeblocks]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/?p=47</guid>
		<description><![CDATA[Fa uns dies que miro de programar per a PIC amb una aplicació mig decent. Per a fer-ho he trobat el code:blocs, que permet compilar amb el sdcc.
El problema és que està a ~x86, però és fàcil de solucionar.
Primer és fer que ens deixi compilar aquesta versió. Obrim l'arxiu /etc/portage/package.keywords i afegim el següent:
dev-util/codeblocks
I ara [...]]]></description>
			<content:encoded><![CDATA[<p>Fa uns dies que miro de programar per a PIC amb una aplicació mig decent. Per a fer-ho he trobat el code:blocs, que permet compilar amb el sdcc.</p>
<p>El problema és que està a ~x86, però és fàcil de solucionar.<span id="more-47"></span></p>
<p>Primer és fer que ens deixi compilar aquesta versió. Obrim l'arxiu /etc/portage/package.keywords i afegim el següent:</p>
<pre class="text">dev-util/codeblocks</pre>
<p>I ara ja podem compilar el code:blocs amb:</p>
<pre class="text">emerge codeblocs</pre>
<p>També ens farà falta el sdcc:</p>
<pre class="text">emerge sdcc</pre>
<p>Ara que ja tenim tot el necessari, obrim el code:blocs, no patiu si us diu que no detecta el compilador sdcc, ja ho arreglarem.</p>
<p>Li donem a crear projecte i triem "Empty Project". Triem quin nom li volem donar al projecte i on el volem guardar. Al següent pas hem de triar quin compilador volem emprar, en aquest cas sdcc. Quan creem el projecte es queixarà de que no sap els flags d'optimització del compilador, ni cas.</p>
<p>A anem a "Settings" i triem el submenú "Compiler and Debugger". De la llista triem el sdcc i sel·leccionem la pestanya "Toolchain executables". Veurem que està definida a /usr/local/bin, quan a gentoo s'intal·la a /usr/bin, així que ho canviarem per /usr/bin. A la pestanya "Compiler Settings" buscarem "[CPU] Microchip PIC 14-bit ..." i ho marcarem.</p>
<p>Veurem que a la pestanya "Compiler Settings" hi ha una altre pestanya dintre, "Other options", la marcarem i dintre hi escriurem el xip per al que compilem, per exemple:</p>
<pre class="text">-p16f876a</pre>
<p>Ja li podrem donar a acceptar. Per a comprovar que tot funciona correctament, creem un arxiu .c al projecte i hi posem el següent:</p>
<pre class="c">&nbsp;
<span style="color: #339933;">#include</span>
&lt;pic16f876a.<span style="color: #202020;">h</span>&gt;
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;">0</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;</pre>
<p>I fem un build. Si no dona cap error, ja li podem donar canya a la programació de pics <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/installar-codeblocks-a-gentoo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crear un binari de gcc capaç de compilar codi per als PIC de la família 16</title>
		<link>http://bloc.majomo.com/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/</link>
		<comments>http://bloc.majomo.com/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 23:06:16 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Electròncia]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Programació]]></category>
		<category><![CDATA[Robòtica]]></category>
		<category><![CDATA[c/c++]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2008/03/14/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/</guid>
		<description><![CDATA[Aquests dies en Cesc m'ha obligat a treballar, bé, a començar, a posar-me les piles en el tema de la robòtica. Primer vam compilar un programa en c i el vàrem compilar amb el sdcc. Per desgràcia primer vaig fer el codi en cpp i llavors al veure que no ho suportava el vaig pasar [...]]]></description>
			<content:encoded><![CDATA[<p>Aquests dies en Cesc m'ha obligat a treballar, bé, a començar, a posar-me les piles en el tema de la robòtica. Primer vam compilar un programa en c i el vàrem compilar amb el sdcc. Per desgràcia primer vaig fer el codi en cpp i llavors al veure que no ho suportava el vaig pasar a c.</p>
<p>Tot i així no l'he pogut provar ja que la PIC de proves semblava estar tarada.</p>
<p>El cas és que demanant informació a ARDE sobre el tema dels compiladors existents, sobretot un capaç de suportar codi cpp, em van recomanar fer una ullada a <a href="http://pjmicrocontroladores.wordpress.com/">Port de GCC a PIC16</a> i això vaig fer.<span id="more-45"></span>Aquí l'autor ha escrit el codi necessari per a que puguem compilar els nostres programes en c per a PICs de la família 16 amb gcc. A la espera de provar algun experiment amb cpp, direm que només suporta c, doncs l'autor m'ha dit que manquen llibreries encara per a que això sigui possible.</p>
<p>Aquí explico el procés que he seguit per a compilar el gcc sense trepitjar-ne la versió que ja en tenia.</p>
<p>Primerament ens descarregarem i instalarem el gputils disponible a la nostra distribució.  En gentoo:</p>
<pre class="text">emerge gputils</pre>
<p>Un cop instal·lat gputils crearem una nova carpeta (suposaré que la carpeta està a Documents). A dintre hi descarregarem la versió de gcc 4.0.2 i la 1.0.0 de csl-pic-gcc i els descomprimirem:</p>
<pre class="text">mkdir gccpic
cd gccpic
wget  ftp://ftp.gnu.org/gnu/gcc/gcc-4.0.2/gcc-4.0.2.tar.bz2
wget  https://forja.rediris.es/frs/download.php/324/csl-pic-gcc-16f877-1.0.0.tar.gz
tar xfvj gcc-4.0.2.tar.bz2
tar xfvz csl-pic-gcc-16f877-1.0.0.tar.gz</pre>
<p>Ara haurem de configurar el fitxer pic.h per a indicar-li correctament l'ubicació de les eines de gputils (si compilem el paquet 'oficial' en comptes del de la nostra distribució, aquest pas no fa falta).</p>
<pre class="text">vim gcc-4.0.2/gcc/config/pic/pic.h</pre>
<p>On canviarem les línies</p>
<pre class="text">#define DEFAULT_ASSEMBLER &quot;/usr/local/bin/gpasm&quot;
#define DEFAULT_LINKER &quot;/usr/local/bin/gplink&quot;</pre>
<p>per</p>
<pre class="text">#define DEFAULT_ASSEMBLER &quot;/usr/bin/gpasm&quot;
#define DEFAULT_LINKER &quot;/usr/bin/gplink&quot;</pre>
<p>Ara crearem la carpeta on anirà la nostra versió de gcc:</p>
<pre class="text">mkdir pic-gcc
cd pic-gcc</pre>
<p>I executarem el configure i en compilarem el codi:</p>
<pre class="text">../gcc-4.0.2/configure -target=pic -enable-languages=c,c++
make</pre>
<p>Ja tenim els binaris creats a la carpeta gcc, però ara volem que sigui més fàcil emprar-los, per això farem un parell d'enllaços simbòlics, com a root s'ha de fer (poso el meu directori de home com a exemple, s'ha de canviar a la ruta correcte al vostre sistema):</p>
<pre class="text">su
(introduim la clau)
cd /usr/bin
ln -s  /home/mad93/Documents/gccpic/pic-gcc/gcc/g++ picg++
ln -s /home/mad93/Documents/gccpic/pic-gcc/gcc/xgcc picgcc</pre>
<p>I ja podrem compilar els nostres programes amb picgcc i picg++. Vull recordar que cpp encara no es pot emprar per certa mancança de llibreries, però ho deixo aquí així esperant que en un futur pròxim ja sigui possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/crear-un-binari-de-gcc-capac-de-compilar-codi-per-als-pic-de-la-familia-16/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Què és Ruby on Rails?</title>
		<link>http://bloc.majomo.com/que-es-ruby-on-rails/</link>
		<comments>http://bloc.majomo.com/que-es-ruby-on-rails/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 00:07:15 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2008/03/07/que-es-ruby-on-rails/</guid>
		<description><![CDATA[Bé, segurament, sobretot si esteu en el món de fer planes web, encara que sigui per afició, haureu sentit de Ruby on Rails , o al menys de Rails. Personalment només havia emprat php  per a fer planes web, i amb templates només havia treballat amb smarty.
Es pot pensar que php és molt potent [...]]]></description>
			<content:encoded><![CDATA[<p>Bé, segurament, sobretot si esteu en el món de fer planes web, encara que sigui per afició, haureu sentit de <a href="http://www.rubyonrails.org">Ruby on Rails</a> , o al menys de Rails. Personalment només havia emprat <a href="http://www.php.net">php</a>  per a fer planes web, i amb templates només havia treballat amb <a href="http://smarty.php.net">smarty</a>.</p>
<p>Es pot pensar que php és molt potent i versàtil, de fet, ho és. Així doncs, perquè canviar a Rails?<span id="more-42"></span></p>
<p>Personalment el que més m'ha atret de rails és el seu model MVC, on M ve de Model (taula de la base de dades), V de View (vista, del codi a mostrar per pantalla, templates) i C de Controller (codi pròpiament dit on s'executen les instruccions abans de ser enviades al template).</p>
<p>Perquè és important aquesta separació? Doncs només heu d'haver fet una o dues webs per saber que si es fa una cosa gaire gran i no es guarda un ordre acuradament, el codi es torna enrevessat i difícil de seguir. Amb rails també ens pot passar, però és més difícil per com està estructurat tot.</p>
<p>El funcionament és senzill, quan es demana una plana web el controlador mira quina acció ha de realitzar en funció de l'adreça entrada, n'executa el codi interactuant amb els models per aconseguir les dades necessàries i finalment passa les variables a View per a que generi la sortida pel navegador.</p>
<p>Altre característica interessant de rails, és que té moltes accions predefinides i comportaments 'preestablerts'. Així doncs, amb aquestes convencions ens estalviem un munt de codi.</p>
<p>Com podeu haver suposat ja, Ruby on Rails, està escrit en <a href="http://www.ruby-lang.org/">ruby</a>, un llenguatge d'scripting amb unes regles més pròximes a perl i python, que no pas a php i per tant, a C.</p>
<p>Altre diferència de php i rails, és que php és un llenguatge, i rails és un framework (entorn de treball). Això fa que disposem de moltes eines per a fer més ràpid, fàcil i netament el nostre codi (no sempre és així, però la majoria de vegades sí).</p>
<p>Personalment, penso que en termes generals, php és més potent i versàtil que rails, i tot i que aquest darrer no para d'evolucionar, per segons quines aplicacions ens pot seguir interessant treballar amb php. Altrament, si volem fer una plana web, amb les opcions més típiques, rails sense dubte és una molt bona alternativa.</p>
<p>He fet poca cosa amb rails pel moment, bé, s'han deixat un parell de projectes a mig fer, a l'espera de saber-ne més per aplicar-ho correctament quan els coneixements fossin prou profunds. De moment la única plana que puc mostrar-ne és la web del <a href="http://fansub.animelliure.net">fansub d'Animelliure</a>, feta en rails i amb un sistema, casolà, de diferents versions de la web (skins).</p>
<p>Espero fer un parell d'entrades explicant una mica en més profunditat com funciona rails, doncs és molt interessant.</p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/que-es-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Emprant noms de bases de dades i controladors en català a rails</title>
		<link>http://bloc.majomo.com/emprant-noms-de-bases-de-dades-i-controladors-en-catala-a-rails/</link>
		<comments>http://bloc.majomo.com/emprant-noms-de-bases-de-dades-i-controladors-en-catala-a-rails/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 00:58:04 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2008/02/04/emprant-noms-de-bases-de-dades-i-controladors-en-catala-a-rails/</guid>
		<description><![CDATA[Programar amb rails pot ser una feina molt senzilla amb totes les automatitzacions que té, el problema el tenim quan aquestes automatitzacions no fan exactament el que volem...
Un clar exemple d'això és quan volem emprar models i controladors en català en una aplicació corrent sota rails, intenta convertir els noms al singular/plural, però, és clar, [...]]]></description>
			<content:encoded><![CDATA[<p>Programar amb rails pot ser una feina molt senzilla amb totes les automatitzacions que té, el problema el tenim quan aquestes automatitzacions no fan exactament el que volem...</p>
<p>Un clar exemple d'això és quan volem emprar models i controladors en català en una aplicació corrent sota rails, intenta convertir els noms al singular/plural, però, és clar, a la versió anglesa.<span id="more-38"></span>Una manera de solucionar això és  és emprar inflect. inflect ens permet redifinir els canvis de singular-plural, plural-singular 'màgics' que fa rails. Per a modificar els termes que vulguem només hem d'anar a l'arxiu config/enviroment.rb i al final afegir-hi:</p>
<pre class="ruby"><span style="color:#CC00FF; font-weight:bold;">Inflector</span>.<span style="color:#9900CC;">inflections</span> <span style="color:#9966CC; font-weight:bold;">do</span> |inflect|
inflect.<span style="color:#9900CC;">singular</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;noticies&quot;</span>,<span style="color:#996600;">&quot;noticia&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
inflect.<span style="color:#9900CC;">plural</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">&quot;noticia&quot;</span>,<span style="color:#996600;">&quot;noticies&quot;</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span></pre>
<p>Com podeu veure, primer hem definit el singular de notícies i després el plural de notícia. També podem emprar inflect.uncountable amb el terme que no volem que canviï de singular a plural i viceversa<span>.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/emprant-noms-de-bases-de-dades-i-controladors-en-catala-a-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fent un programa senzill amb SDL</title>
		<link>http://bloc.majomo.com/fent-un-programa-senzill-amb-sdl/</link>
		<comments>http://bloc.majomo.com/fent-un-programa-senzill-amb-sdl/#comments</comments>
		<pubDate>Tue, 29 Jan 2008 23:15:03 +0000</pubDate>
		<dc:creator>mad93</dc:creator>
				<category><![CDATA[Programació]]></category>
		<category><![CDATA[SDL]]></category>
		<category><![CDATA[c/c++]]></category>

		<guid isPermaLink="false">http://bloc.majomo.com/2008/01/30/fent-un-programa-senzill-amb-sdl/</guid>
		<description><![CDATA[Bé, feia dies que no feia res d'interessant, al menys per mi  
Així doncs he decidit revisar el codi d'un joc força senzill que vaig fer per la gp2x i fer el que s'anomenaria una demo, un programa que no fa res de res &#62;&#60;
En aquest programa només es carrega una imatge i una [...]]]></description>
			<content:encoded><![CDATA[<p>Bé, feia dies que no feia res d'interessant, al menys per mi <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>Així doncs he decidit revisar el codi d'un joc força senzill que vaig fer per la gp2x i fer el que s'anomenaria una demo, un programa que no fa res de res &gt;&lt;</p>
<p>En aquest programa només es carrega una imatge i una cançó i es surt amb la tecla "return". Per limitacions de coneixements i per no complicar molt la cosa, la resolució és fixa a 1024x768 (SDL_Image no té una funció per reescalar les imatges o.O).<span id="more-36"></span></p>
<p>El programa intenta explicar-se per si mateix, però bé, com que són comentaris per a mi, no sé si explica prou bé que es fa a cada pas, aquí el codi:</p>
<pre class="c"><span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
&nbsp;
<span style="color: #339933;">#include &lt;SDL.h&gt;</span>
<span style="color: #339933;">#include &lt;SDL_mixer.h&gt;</span>
<span style="color: #339933;">#include &lt;SDL_image.h&gt;</span>
<span style="color: #339933;">#include &lt;time.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #66cc66;">&#40;</span><span style="color: #993333;">int</span> argc, <span style="color: #993333;">char</span> *argv<span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #808080; font-style: italic;">//Definim la variable pantalla</span>
SDL_Surface *pantalla;
<span style="color: #993333;">int</span> sortir=<span style="color: #cc66cc;">0</span>;
<span style="color: #808080; font-style: italic;">//Inicialitzem el SDL</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>SDL_Init<span style="color: #66cc66;">&#40;</span>SDL_INIT_VIDEO|SDL_INIT_AUDIO<span style="color: #66cc66;">&#41;</span> &amp;lt; <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #808080; font-style: italic;">//Entro si peta al inicialitzar el SDL</span>
fprintf<span style="color: #66cc66;">&#40;</span>stderr, <span style="color: #ff0000;">&quot;Incapaç d'inicialitzar SDL: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, SDL_GetError<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
exit<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">//Fixem la mida de la pantalla</span>
pantalla= SDL_SetVideoMode<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1024</span>,<span style="color: #cc66cc;">768</span>,<span style="color: #cc66cc;">16</span>,SDL_DOUBLEBUF | SDL_FULLSCREEN<span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span>!pantalla<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
<span style="color: #808080; font-style: italic;">//Mostrem l'error</span>
fprintf<span style="color: #66cc66;">&#40;</span>stderr, <span style="color: #ff0000;">&quot;No s'ha pogut establir el mode de vídeo: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, SDL_GetError<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
exit<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">//Ara tenim el mode de vídeo activat i podem començar a fer coses</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//Carreguem al buffer de pantalla una imatge</span>
SDL_Surface *imatge;
imatge=IMG_Load<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;prova.jpg&quot;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//La passo a pantalla</span>
SDL_BlitSurface<span style="color: #66cc66;">&#40;</span>imatge, <span style="color: #000000; font-weight: bold;">NULL</span>, pantalla, <span style="color: #000000; font-weight: bold;">NULL</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Mostro per pantalla la variable pantalla</span>
SDL_Flip<span style="color: #66cc66;">&#40;</span>pantalla<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//Poso música</span>
<span style="color: #993333;">int</span> audio_rate = <span style="color: #cc66cc;">22050</span>;
Uint16 audio_format = AUDIO_S16SYS;
<span style="color: #993333;">int</span> audio_channels = <span style="color: #cc66cc;">2</span>;
<span style="color: #993333;">int</span> audio_buffers = <span style="color: #cc66cc;">4096</span>;
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>Mix_OpenAudio<span style="color: #66cc66;">&#40;</span>audio_rate, audio_format, audio_channels, audio_buffers<span style="color: #66cc66;">&#41;</span> != <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
fprintf<span style="color: #66cc66;">&#40;</span>stderr, <span style="color: #ff0000;">&quot;No s'ha pogut inicialitzar l'audio: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, Mix_GetError<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
exit<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//Carreguem el ogg</span>
Mix_Music *musica;
musica = Mix_LoadMUS<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;musica.ogg&quot;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>musica == <span style="color: #000000; font-weight: bold;">NULL</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
fprintf<span style="color: #66cc66;">&#40;</span>stderr, <span style="color: #ff0000;">&quot;Incapaç de carregar el ogg: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, Mix_GetError<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
exit<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">//Fem el bucle infinit amb -1</span>
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>Mix_PlayMusic<span style="color: #66cc66;">&#40;</span>musica, <span style="color: #cc66cc;">-1</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #cc66cc;">-1</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
fprintf<span style="color: #66cc66;">&#40;</span>stderr, <span style="color: #ff0000;">&quot;Incapaç d'obrir l'arxiu ogg: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, Mix_GetError<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
exit<span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">//Pengem el programa fins que hi hagi un event de teclat</span>
<span style="color: #b1b100;">while</span> <span style="color: #66cc66;">&#40;</span>!sortir<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
SDL_Event event;
SDL_WaitEvent<span style="color: #66cc66;">&#40;</span>&amp;amp;event<span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span>event.<span style="color: #202020;">key</span>.<span style="color: #202020;">keysym</span>.<span style="color: #202020;">sym</span>==SDLK_RETURN<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
sortir=<span style="color: #cc66cc;">1</span>;
<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #808080; font-style: italic;">//Matem el SDL</span>
SDL_Quit<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>
<p>I ja tenim un programa cutrillo que fa ús de pantalla completa i de música (està en loop).</p>
<p><a href="http://bloc.majomo.com/wp-content/uploads/2008/01/provatar.gz" title="Prova de SDL"> Aquí en teniu una versió compilada per a x86 i amb els arxius necessaris (imatge i música), així com el codi font (Del Makefile ni cas, que ara no recordo com fer-lo <img src='http://bloc.majomo.com/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> ).</a></p>
]]></content:encoded>
			<wfw:commentRss>http://bloc.majomo.com/fent-un-programa-senzill-amb-sdl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
