5190

Et en UTF-8 ?
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5191

C'est ce que j'avais tenté en premier.
avatar

5192

y'a ptet un caractère d'échapement (ou un consigne stricte de compilateur pour que pouvoir définir un truc comme ce qui est un espace après son alias)
avatar
Webmaster du site Ti-FRv3 (et aussi de DevLynx)
Si moins de monde enculait le système, alors celui ci aurait plus de mal à nous sortir de si grosses merdes !
"L'erreur humaine est humaine"©Nil (2006) // topics/6238-moved-jamais-jaurais-pense-faire-ca

5193

Je pense que c'est une blague et effectivement ça ne marche pas. Mais sur le principe c'est bon.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

5194

En y réfléchissant 30 secondes, ça ne peut clairement pas marcher quelque soit l'encodage. Même si les caractères de type cadre pouvaient être redefinis, il faudrait les espacer à l'utilisation pour que le préprocesseur les traite individuellement.
C'est une idée marante, mais malgré tous les abus possibles du préprocesseur C, ce truc là n'est pas faisable.
avatar

5195

Ah oui, bien vu smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5196

Je me demande s'il n'y a pas moyen de tricher en utilisant un caractère Unicode qui est considéré comme un espacement, mais qui a une largeur nulle.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5197

Avec une police custom ça pourrait le faire.
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

5198

Y a pas des caractères rigolos qui écrasent le précédent (genre \08) ?
print('< \x08>') <>
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

5199

Tu peux aussi toujours avoir un pre-processeur custom
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5200

flan > si, mais je doute que les compilateurs C interprètent les séquences de contrôle de terminal (à part ce qui est considéré comme un espacement, comme les tabulations) smile
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5201

En effet ce n'est pas interperté, ca sera juste vu comme un charactere invalide
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5202

Copilot Induced Crash: how AI-assisted development introduces new types of bugswww.bugsink.comAI-assisted development introduces new types of bugs. Here's how LLM-assisted coding gave me 2024's hardest-to-find bug.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5203

Ah oui, j'ai déjà vu des trucs comme ça. L'a fallu apprendre à se servir des LLM proprement. Comme les premiers résultats que j'ai eus étaient vraiment aberrants, je n'ai pas tout de suite adopté cette techno. Maintenant je le fais mais en m'attendant à ce genre de bugs subtils (j'ai eu plus bizarre que ça, et en fait le problème de ChatGPT par exemple, c'est qu'il a tendance à mixer des concepts de trucs incompatibles, mais vraisemblables, au cours de sa réponse ; un humain qui ferait ça serait effectivement fou, au sens médical).
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

5204

AI coding assistant refuses to write code, tells user to learn programming insteadArs TechnicaCursor AI tells user, “I cannot generate code for you, as that would be completing your work.”…
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5205

Parfait
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

5206

Y a de l'espoir dans l'humanité !
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

5207

1742176873028-894126e0-c162-4bfa-aa64-82b268fab58f-image.png
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5208

Pas compris si c'était une blague ou un vrai truc grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

5209

Comme tu dis, ça devient difficile de faire la différence ^^
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5210

Tiens, y'a pas mal de nouveautés sympas dans C23 :
https://en.wikipedia.org/wiki/C23_(C_standard_revision)
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5211

En effet, C23 réduit l'écart avec C++. Cependant, pour du nouveau code, ou même pour un certain nombre de modernisations, je ne vois pas C23 être un meilleur choix que C++23, avec son typage qui reste plus faible, des restrictions sur les features ajoutées (constexpr qui ne fonctionne pas sur les fonctions et auto moins puissant, d'après l'article WP), une librairie standard moins étendue, etc.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

5212

Ça peut être intéressant pour ceux qui ont une base de code existante en C, et qui n'ont pas envie de switcher vers le C++. Ou pour l'embarqué avec des contraintes qui font que le C++ ne convient pas.

Mis à part ça, c'est sûr que le C n'est pas le meilleur choix pour des nouveaux développement en 2025.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5213

Mon avis sur C23:

* New functions of libc in string.h, stdbit.h, time.h: sympathique mais pas mandatory et peut être récupéré depuis une lib tiers qui aura le mérite de fonctionner partout.
* New functions of libc in math.h: useless en l'état. Il vaut mieux utiliser des lib tiers qui au moins garantissent la précision du résultat.
* binary support: sympathique mais pas mandatory
* Make the functions const aware: good!
* #elifdef and #elifndef: useless
* #embed: good feature simplifiant le process de build.
* #warning: sympathique mais pas mandatory
* __has_include: good feature
* __VA_OPT__: sympathique mais pas mandatory (j'ai déjà appris à coder les macros pour m'en passer grin)
* nullptr: useless. Ils auraient mieux fait de corriger la définition de NULL qui aurait été plus safe
* _BitInt(N): je me méfie vraiment de voir ce que ca va donner coté compilateur.
* ckd_add(), ckd_sub(), ckd_mul(): sympathique mais existent déjà en lib tiers
* Variably-modified types: déjà supportait par tous les compilateurs sauf celui de MS
* Better support for using const with arrays: enfin des cast à la con en moins!
* typeof: killer feature... mais existait déjà sous forme d'extension dans tous les compilateurs...
* auto: encore pas d'avis dessus. Je n'ai encore jamais eu le réel besoin de m'en servir.
* allow redeclaration of a compatible type with the same tag: good mais anecdotique.
* Exact-width integer may now exceed intmax_t: Connerie! Autant supprimer le type intmax_t!
* Add ' digit separator to literal constants: sympathique
* Add the ability to specify the underlying type of an enum: sympathique
* Add new keywords: violiation du contrat des anciens standards sur le namespace réservé au standard (du code existant aura du mal à être compilé en C23). Bref avec C23, y'a plus de namespace réservé et on fait ce qu'on veut.
* _Decimal32 arithmetic: pas vu l'intérêt. Au début je pensais que c'était pour la finance, mais je me suis fait retoquer en me disant que ce n'était pas les calculs avec n'étaient pas bon pour. Donc je ne vois pas l'intérêt
* Labels can appear before declarations: sympatoche
* Unnamed parameters in function definitions: sympatoche
* Zero initialization with {}: pas vu la différence pratique avec {0}
* Relax requirements for variadic parameter lists: useless simplification
* C++11 attributes: putain que c'est moche!
* single-argument _Static_assert: sympatoche
* removal of K&R function declarations: good
* C++ compatibility: bof... tant que les compound literal ne sont pas supportés par le C++ on va devoir se taper des #if __cplusplus__ comme d'habitude
* u8 prefix: good
* constexpr: useless en l'état. On pouvait tout déjà faire avec un enum
* char8_t / mbrtoc8 / c8rtomb: une bad joke en l'état! A fuir.
* Allow storage class specifiers to appear in compound literal definition: sympatoche

En résumé, sympatoche, mais manquant de killer feature forcant son usage. Et ils n'ont pas corrigé la m***e que sont les locales en C.

Mon avis sur le C++23:

* trop, trop, trop de features.

5214

Nous sommes d'accord qu'Il y a un certain nombre de morceaux de la librairie standard C++ qui ne sont pas adaptés à l'embarqué très contraint, rien n'a changé sur ce point depuis longtemps. Mais c'est plutôt une caractéristique de la librairie standard C++ et de ses implémentations, qu'une caractéristique du langage lui-même.
A choisir entre C23 et C++23 pour produire du nouveau code sur plate-formes embarquées, je choisirais clairement C++23. La pléthore de features de C++ est de plus en plus énorme, c'est un fait, mais il n'y a pas grand chose qu'on soit obligés d'utiliser smile
Pour des raisons de réduction des bugs et/ou d'amélioration de l'efficacité du code généré, j'ai déjà utilisé des éléments de C++, pas forcément récents d'ailleurs, qui ne sont pas en C à ma connaissance: citons le typage plus strict, RAII (pour les locks, en particulier), constexpr normal (et maintenant consteval, if constexpr, if consteval, avec lesquels je n'ai pas eu l'occasion de jouer) pour déplacer des calculs et/ou des vérifications en temps de compilation, rvalue references / std::move et tout ce qui y est associé (efficacité), unique_ptr (réduction des bugs), un peu de métaprogrammation à base de type traits plus avancée que le _Generic de C ne le permet (efficacité du code généré). Et il y a des choses que je n'ai pas eu l'occasion d'utiliser mais qui peuvent être utilisées pour réduire les bugs dans certaines conditions, comme les concepts.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

5215

Si tes préoccupations sont au niveau de la réduction des bugs, je penses que Rust est plus intéressant que C++ pour produire du nouveau code.
Le typage est autrement plus strict. La plupart des fonctionnalités que tu cites sont bien mieux intégrées car le langage a été de base prévu pour. Il est juste moins avancé pour le moment au niveau du const (l'équivalent du constexpr).
avatar

5216

Lionel Debroux (./5214) :
La pléthore de features de C++ est de plus en plus énorme, c'est un fait, mais il n'y a pas grand chose qu'on soit obligés d'utiliser smile
C'est bien çà le problème.
Si tu te mets coté relecteur de code, le C++ est une purge à relire et à valider. Trop de features, trop de détails subtils impossible à cerner lors d'une PR, impossibilité de maîtriser le langage. Et tu peux être sûr que personne ne serra d'accord sur un sous ensemble de feature à utiliser dans ton projet. Ensuite c'est juste mon avis. Rien de plus.

5217

(Mon dieu, PpHd est vivant!)

PpHd (./5213) :
Et ils n'ont pas corrigé la m***e que sont les locales en C.

ça malheureusement ça ne sera jamais corrigé, et même en C++ ça nous tire dans les pattes sauf que c'est encore moins visible.

De ce que je vois ça a l'air d'être grosso merdo un backport de certains trucs ajoutés au C++ (mais pas que).

PpHd (./5216) :
le C++ est une purge à relire et à valider

pencil et epee; ça peut rester vachement simple, tout de même. Evidemment, une usine à gaz de templates donnera une migraine à n'importe qui (y compris l'auteur, 3 mois après), mais de l'autre main le fait qu'on s'inquiète quand même vachement moins de façon générale est imho agréable.

Uther (./5215) :
je penses que Rust est plus intéressant que C++

Pour avoir fait du Rust, je trouve que le borrow checker est bien en théorie mais insupportable en pratique, les lifetime polluent tout du moment qu'on veut rester safe, et du coup on se retrouve à écrire de l'unsafe rust, et donc à ne pas bénéficier du borrow checker. Et en plus on peut gagner en performance à faire de l'unsafe rust. Pourquoi s'emmerder du coup?

5218

C'est vrai que le borrow checker peut être chiant, surtout quand on débute, mais c'est le prix a payer pour être sûr de pas faire de bêtises. Les lifetime avec l'habitude ça me dérange pas : il faut voir ça comme la documentation qu'on devrait produire en C pour que le code soit bien utilisé, sauf qu'on est obligé de la produire et l'utilisateur sera obligé de la respecter.
Les cas où on a vraiment besoin de l'unsafe pour améliorer les performances sont plutôt rares, et même quand c'est le cas ça n'est pas si grave car le code à risque est limité aux blocs unsafe qui sont très rares dans un code normal. Le but est que l'on ne puisse pas faire quelque-chose de dangereux par mégarde. Quand on doit utiliser un bloc unsafe, on est conscient qu'on va devoir être particulièrement prudent, et le relecteur aussi.
avatar

5219

GitHub - snoack/python-goto: A function decorator, that rewrites the bytecode, to enable goto in PythonGitHubA function decorator, that rewrites the bytecode, to enable goto in Python - snoack/python-goto

#sifflote#

Plus sérieux (quoi que ?) :
How AI coding assistants could be compromised via rules fileSC MediaResearchers showed how GitHub Copilot and Cursor could be manipulated with hidden Unicode.
Hidden Unicode characters like bidirectional text markers and zero-width joiners can be used to obfuscate malicious instructions in the user interface and in GitHub pull requests, the researchers noted.

(...)

Once the poisoned rules file is imported to GitHub Copilot or Cursor, the AI agent will read and follow the attacker’s instructions while assisting the victim’s future coding projects.

In an example demonstrated by Pillar, a rules file that appeared to instruct the AI to “Follow HTML5 best practices” included hidden text containing further instructions to add an external script to the end of every file.

The hidden prompt also included a jailbreak to bypass potential security checks, ensuring the AI that adding the script was necessary to secure the project and was part of company policy, as well as instructions to not mention the addition of the script in any responses to the user.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

5220

Zerosquare (./5219) :
GitHub - snoack/python-goto: A function decorator, that rewrites the bytecode, to enable goto in PythonGitHubA function decorator, that rewrites the bytecode, to enable goto in Python - snoack/python-goto

#sifflote#

Il va se faire des amis lui cheeky
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741