cursed unix syscalls
NAME
setpid - set process identification
SYNOPSIS
#include <sys/types.h>
#include <unistd.h>
void setpid(pid_t pid);
DESCRIPTION
setpid() sets the process ID (PID) of the calling process. If another
process has the same ID, it is assigned a new randomly chosen ID.
/* #UselessProgram */
/* Touch */
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main() {
int x = 0;
char old[99], new[99];
srand(arc4random());
while (1) {
int y = x + rand() % 2 * 2 - 1;
snprintf(old, 99, "%d", x);
snprintf(new, 99, "%d", y);
if (-1 == rename(old, new) && ENOENT == errno)
x = y;
}
}
@neauoire Do you know why when I try to compile the Nintendo DS UXN from a freshly pulled repo, I'm getting the error with the devkitpro toolchain of:
uxn/uxnds/arm9/source/nds_keyboard.c:8:10: fatal error: gfx_keyboard.h: No such file or directory
8 | #include "gfx_keyboard.h"
The file list for that directory is:
emulator.c
lut_expand_8_32_flipx.inc
lut_expand_8_32.inc
nds_apu.c
nds_keyboard.c
nds_keyboard.h
nds_ppu.c
nds_ppu.h
stubs.c
and nds_keyboard.c has:
#include "gfx_keyboard.h"
C++で、必要ないはずの #include <utils.hpp> を消したら実行速度が 5%低下した話。C++のabs()は内部でfabs()を使っており、int-float間の変換で速度が低下、さらにそれによるコード量の増加でキャッシュミスが起きていた。
i kinda despise C sometimes
some struct stuff can be done in such a way that it's way harder to understand the code 💀
like
```
#include <stdio.h>
struct a {
/// bla bla bla
int foo;
};
struct b {
struct a bar;
int foobar;
};
// and then you can feed b into any function that expect a (with the appropriate cast)
void stuff(struct a *s) {
s->foo = 2;
}
int main(void) {
struct b s;
stuff((struct a*)&s);
printf("%i\n", s.bar.foo);
// will fcking print 2
}
```
#include "rockcutterstream.hpp"
std::future<bool> suggest_kichiri(){
std::orcstream orc;
orc << " :kichiri: 行きませんか?";
auto is_ok = co_await std::async(std::launch::async, []() -> bool { return orc.send(); };
return is_ok;
}
int main(void){
suggest_kichiri();
return 0;
}
#include "rockcutterstream"
std::future<bool> suggest_kichiri(){
std::orcstream orc;
orc << " :kichiri: 行きませんか?";
auto is_ok = co_await std::async(std::launch::async, []() -> bool { return orc.send(); };
return is_ok;
}
int main(void){
suggest_kichiri();
return 0;
}
screaming at why #include "shader_x_y_z.sl.h" didn't find my file shader_x_y_z.sl..h
はじめてプヨグラミングを学習したときに意味も分からず
#include <stdio.h>
と書き続けていた人間が考えることと、学習しようと思ったときには多様化しまくる言語を選びたい放題な時代に生まれた人間の違いですかいねー。
SYNOPSIS
#include <stdio.h>
char *gets(char *s);
DESCRIPTION
This function is not a function of honor.
No highly esteemed functionality is implemented here.
No bounds are checked here.
What is here was dangerous and repulsive to us.
This message is a warning about danger.
The danger is still present, in your time, as it was in ours.
@annakansalais #include <iostream>
using namespace std;
int main () {
bool working = true;
char proot[6] = {'E', 'n', 'j', 'o', 'y', '\0'};
while(working) {
cout << proot << endl;
}
return 0;
}
UNA SOLUCIÓ ALS PROBLEMES ORIGINATS PEL CANVI EN L'ESTRUCTURA DE REPOSITORIS D'ARCH LINUX (DE MAIG DE 2023) SOBRE LES SEUES DERIVADES
Al mes de maig, #Arch Linux va anunciar una modificació en l'estructura dels seus repositoris.
https://archlinux.org/news/git-migration-announcement/
Aquest canvi, és clar, va afectar totes les distros derivades d'aquella, entre les quals #endeavouros, que tinc instal·lada en tres màquines. Les instruccions que vaig trobar per a adaptar-se a aquells canvis (i poder continuar actualitzant de forma normal), o bé no estaven completes, o bé no eren clares o bé, simplement, no les vaig entendre bé. Com a resultat, després de fer-ne una aplicació (que, ara, puc suposar que va ser només parcial), els paquets propis d'EndeavourOS no s'actualitzaven (per sort, els que depenien directament d'Arch Linux, sí). Després de tres mesos llargs, he aconseguit solucionar el problema en les màquines, així que m'ho deixaré apuntat per ací, per si ho necessite més endavant i per si encara hi ha algú que no se n'ha sortit.
PAS 1
Com a root, editar el fixer /etc/pacman.conf i comentar (afegir # a l'inici de les línies) els repositoris que desapareixen:
#[community-testing]
#Include = /etc/pacman.d/mirrorlist
#[community]
#Include = /etc/pacman.d/mirrorlist
PAS 2
Assegureu-vos que el repositori propi d'EndeavourOS hi és:
[endeavouros]
SigLevel = PackageRequired
Include = /etc/pacman.d/endeavouros-mirrorlist
(Em sembla recordar que hauria de ser aquest el primer repositori definit.)
PAS 3
Deseu el fitxer i sortiu.
PAS 4
Sempre com a administrador, actualitzeu el sistema amb:
# pacman -Syyuu
(Després, feu el mateix amb yay per a actualitzar els paquets aur, si n'havíeu instal·lat algun.)
Tanmateix, és aquí on em vaig trobar amb un maldecap de claus no signades; si us passa el mateix, aneu al pas 5.
PAS 5
Sempre com a administrador, actualitzeu l'anell de claus d'EndeavourOS (no tinc ni idea de què vol dir això):
# pacman -Sy endeavouros-keyring
A continuació, proveu d'actualitzar (pas 4). Si el problema persisteix, actualitzeu també les claus d'Arch Linux:
# pacman-key --refresh-keys
[Davant de «refresh-keys» hi ha dos guionets: de vegades, el navegador en mostra un de més llarg.]
I torneu a actualitzar (com en el pas 4).
En el meu cas, cada màquina s'ha comportat de forma diferent: en una, he acabat amb el pas 4; en una altra, he hagut de fer el primer ajust del pas 5 i, en la tercera, tots dos ajustos.
CONCLUSIÓ
Probablement, la font de tots els problemes ha estat la meua insuficient formació (no conec bé el funcionament profund de pacman i els repositoris) i el meu pèssim anglés. Però estava força convençut que, en un lloc o en un altre, trobaria les instruccions completes i clares. Disculpeu, això sí, que us enllace les fonts: he anat saltant d'una màquina a una altra totes aquestes setmanes i no tinc forma de recuperar les adreces que he llegit.
Quem estiver com problemas em compilar os módulos do Virtualbox no Kernel 6.4.0-3-amd64(pacote versão 6.44.11-1) tem que acrescentar a linha abaixo
#include <net/gso.h>
logo abaixo de /usr/share/virtualbox/src/vboxhost/vboxnetflt/linux/VBoxNetFlt-linux.c
depois tentar /sbin/vboxconfig novamente.