C11 n'est pas encore mort

Posté par  . Édité par Bruno Michel, Benoît Sibaud, baud123, Nÿco et claudex. Modéré par Nÿco.
59
26
déc.
2011
C et C++

La dernière norme du langage C a été publiée le 8 décembre 2011, la pré-version finale étant accepté le 10 octobre, peu avant le décès du regretté Dennis Ritchie à l'origine du langage.

C11 intègre principalement la gestion du multithreading et rend optionnelles certaines fonctionnalités afin de faciliter la conformité des compilateurs vis-à-vis de la norme. La précédente norme C99 a eu beaucoup de mal à s'imposer auprès de certains éditeurs, certains refusant même de l'implémenter (notamment un vendeur d'environnement Basic, situé à Redmond).

Forum général.petites-annonces [CDI sur Aix en Provence (13)]: Ingénieur Développement C C++ sous Unix expérience ferroviaire H/F

Posté par  (site web personnel) .
Étiquettes :
0
22
déc.
2011

CELAD, Société de Conseil et d'Ingénierie Informatique créée en 1990 et forte de plus de 450 collaborateurs répartis sur 5 agences, intervient sur des projets à haute valeur ajoutée, dans le domaine des systèmes d'information et de l'informatique industrielle.

Rejoindre CELAD, c'est concilier dimension humaine, dynamisme et professionnalisme au sein d'une société reconnue pour sa politique sociale.

Nous poursuivons notre développement en région PACA et recrutons un(e) Ingénieur Développement C / C++ sous Unix / Scade ayant une expérience ferroviaire (…)

Forum général.petites-annonces [CDI Marignane(13)] Développeur C++ linux pour poste d'Intégrateur Logiciel dans l'Aéronautique H/F

Posté par  (site web personnel) .
0
22
déc.
2011

CELAD, Société de Conseil et d'Ingénierie Informatique créée en 1990 et forte de plus de 450 collaborateurs répartis sur 5 agences, intervient sur des projets à haute valeur ajoutée, dans le domaine des systèmes d'information et de l'informatique industrielle.

Rejoindre CELAD, c'est concilier dimension humaine, dynamisme et professionnalisme au sein d'une société reconnue pour sa politique sociale.

Nous poursuivons notre développement en région PACA et recrutons un(e) Ingénieur Intégration et validation Logiciel (C++ / Linux) en Aéronautique pour un projet (…)

Qt 4.8 est sorti

Posté par  . Édité par Gof, Florent Zara, _PhiX_ et Nÿco. Modéré par j. Licence CC By‑SA.
Étiquettes :
39
19
déc.
2011
C et C++

La nouvelle version de Qt (prononcer « cute » comme mignon en anglais), le framework en C++ derrière KDE et bien d'autres applications libres, est sortie. Celle-ci est la dernière version majeure de la branche 4.x et la prochaine sera la branche 5.

Merci à Gof, Nÿco, _PhiX_ et reno pour leur aide lors de la rédaction de cette dépêche.

Journal Des stages systèmes Linux !

Posté par  .
Étiquettes :
23
1
nov.
2011

Dans le cadre de ses installations de calcul hautes performances (Cluster de 4000 noeuds quadri-xeon Nehalem 64 Go de RAM, Cluster de 5600 lames bi-xeon Sandy Bridge 64 Go de RAM), les équipes HPC du CEA cherche des stagiaires Bac +4/+5 motivés, qui connaissent Linux et bidouillent un peu, pour un stage de 6 mois, rémunérés entre 500 et 1200 €/mois selon profil.

Nous avons une politique open-source forte, nous distribuons sous licences libres (GPL ou CeCILL) plusieurs de (…)

Sundown, Houdini et Crustache

Posté par  (site web personnel) . Modéré par Florent Zara. Licence CC By‑SA.
Étiquettes :
22
2
sept.
2011
C et C++

Vicent Martí, aka tanoku, est un des développeurs de github qui aime bien coder en C. Ce n'est donc pas très étonnant de trouver sur son compte github des bibliothèques en C pouvant servir au développement d'applications web. Je souhaite en particulier vous évoquer de trois bibliothèques sous licence ISC :

Crustache est une implémentation en C de Mustache, un moteur de templating. Des bindings pour Ruby sont également disponibles dans le dépôt git.

Houdini permet d'échapper des chaînes de caractères en UTF-8 pour le web. Et de faire l'inverse. Les trois types d'échappement sont :

  • convertir &, ", ', <, > et / en leur entité HTML correspondante (conformément à la recommandation de l'OWASP) ;
  • échappement des URI respectant la RFC ;
  • et échappement des URL (la différence avec l'échappement des URI est le remplacement des espaces par des +).

Et enfin, Sundown est un fork de libupskirt. Il permet de convertir du texte en Markdown vers du HTML. Nous utilisons Redcarpet, les bindings Ruby autour de Sundown, pour LinuxFr.org du fait de ses performances et de ses nombreuses options.

Coccigrep, un grep sémantique pour le langage C basé sur Coccinelle

Posté par  (site web personnel) . Modéré par patrick_g. Licence CC By‑SA.
45
2
sept.
2011
C et C++

Lorsque l'on travaille sur un projet C comportant un certain nombre de fichiers et de lignes de code, il arrive fréquemment que l'on se pose des questions comme "Mais où est modifié le champ data de ma structure Packet ?". grep ne suffit pas pour répondre à ce genre de questions car ne comprenant pas C, il ne sait pas, par exemple, que la variable monbopkt est une structure Packet.

coccigrep, basé sur coccinelle qui est un outil très puissant de recherche et de modification automatique de code, est un logiciel libre chargé de répondre à ce genre de questions. Il vient d'être publié en version 1.0rc1, sous licence GPL v3. Il est écrit en Python et s'interface avec les éditeurs Vim et Emacs, ce qui permet de faire les recherches depuis l'éditeur.

Le standard C++0x a enfin été voté

Posté par  . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
76
18
août
2011
C et C++

Le nouveau standard du langage C++ a été voté ce vendredi 12 août. Initialement prévu pour 2008 ou 2009, il a pris du retard, notamment à cause de problèmes avec certaines fonctionnalités. Malgré cette date, beaucoup l'appellent quand même C++0x et il suffit de le nommer C++0xB pour que le nom soit conservé. La publication officielle ne devrait cependant pas arriver avant quelques mois.

Heureusement pour les utilisateurs, ces fonctionnalités ont déjà commencé à être implémentées dans les différents compilateurs et bibliothèques standard. Ceci devrait permettre de ne pas attendre trop longtemps avant de pouvoir profiter de ces nouveautés, voire d'en profiter dès à présent pour certaines. Par exemple, sous GCC, il faut passer l'option -std=c++0x au compilateur pour utiliser des évolutions qui sont déjà implémentées.

Une sélection des principales nouveautés est présentée en seconde partie de dépêche.

Merci à moules< pour son aide lors de la rédaction de cette dépêche.

Forum Programmation.c juste pour le fun je suis tombé sur ce bout de code très ....

Posté par  .
Étiquettes :
4
18
mai
2011

Je suis tombé par hazard sur ce bout de code : Je trouve ça très drôle, comme concept... le programme auto-suicidaire...

#include <unistd.h>
#include <signal.h>
#include <stdlib.h>
#include <stdio.h>

/* 
 * is this the stupidest code all over the world ?
 * or any student first system call code ?
 *
 */

int main(int argc, char *argv[])
{
        if (argc != 2)
        {
                // if the fucking user doesn't give a signal code on args, then kill -9 program
                kill(getpid(),
(…)

Journal Qt 5 à l'horizon

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
34
9
mai
2011

Un post de Lars Knoll sur le blog Qt de Nokia fait le point sur la future version Qt 5. Dans ce texte Lars indique que Qt 4 est sorti en juin 2005 et que depuis cette époque beaucoup de chose ont changés dans le paysage informatique. Selon lui il est temps dévoluer vers Qt 5. Certes la transition se veut moins traumatisante que le passage de Qt 3 à Qt 4 puisque la compatibilité sera assurée au niveau du (…)

LLVM 2.9 !

Posté par  (Mastodon) . Modéré par patrick_g. Licence CC By‑SA.
45
8
avr.
2011
Technologie

La version 2.9 de LLVM vient de sortir et a été annoncée par Chris Lattner le 6 avril !

Pour ceux qui se posent encore la question, LLVM est une suite de compilation concurrente de GCC, sous licence UIUC (semblable à BSD), qui a pour but de produire des briques de bases modulaires pour construire toute sorte de programmes : compilateurs, debugger, assembleur, etc. L'aspect hautement modulaire permet également de pouvoir travailler sur une petite partie et d'en faire bénéficier toutes les autres. C'est notamment le cas des optimisations : en effet, LLVM utilise une représentation intermédiaire (IR) parfaitement spécifiée et les optimisations se font sur cette représentation. Et ce n'est qu'un des nombreux avantages de LLVM.

Cette version 2.9 permet de consolider plein d'aspects de LLVM. Parmi les nouveautés principales, on notera :

  • la génération de code a été améliorée, en particulier pour l'architecture ARM ;
  • l'optimisation au moment de la liaison (LTO) a été améliorée également ;
  • un nouvel allocateur de registre a été écrit, mais n'est pas activé par défaut pour cette sortie ;
  • l'infrastructure Machine Code est désormais utilisée par défaut pour produire du code objet directement (plutôt que de passer par un assembleur externe) ;
  • Clang, le compilateur C/C++/Objective-C/Objective-C++ gère le C++0x de mieux en mieux, avec l'ajout des rvalue references et des variadic templates ;
  • LLDB, le débugger du projet LLVM, atteint un certain stade de maturité alors que ce n'était qu'un projet larvaire à la dernière sortie.

Journal Mono pour Android en version 1.0

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
3
6
avr.
2011

Mono (re-implementation de .NET sous license libre) est désormais dispo pour Android cf http://tirania.org/blog/archive/2011/Apr-06.html

Mono était deja disponible pour iOS via MonoTouch (en version 4.0 actuellement).

Attention ! MonoTouch et Mono for Android sont des produits commerciaux (400$ pour les versions pro). Le code source est base sur Mono (MIT/LGPL/GPL) mais monotouch.dll est par exemple closed source.

MonoTouch et Mono for Android permettent d'utiliser les API natives. Comme l'indique de Icaza, le mieux est donc de séparer le noyau de (…)