Крч в пьяном угаре,
щелкая еблом решил написать мразь которая будет в МОЙ ЛЮБИМЫЙ dwm bar высерать инфу.
Я конечно не Quake3, но вывести в консоль "Привет мир!" На Си как занехуй захуй могу.
И вот тут такая чешуя. Так как у меня ноут GTX 35 serail OG, мне пздц важно знать сколько моя малыха прослужит и служит ли она сейчас вообще, для этого нужно узнать сколько в дуре % заряда. По итогу написав код, который ничем не уступает коду человека который 2 дня учит Си. Я принялся тестить. И ебать вы бы знали мое удивление когда эта параша заработала, да мало того что эта дура выводит текст как макака в клетке, так это она нахуй еще память высикивает захуяли? Открыв всеми известный дебагер htop я обнаружил что слякать моя, за 3 минуты работы набрала в массе до 5мб, а начинала с 1.5. От такого расклада у меня кепка слетела, и я начал искать ошибку - нихуя я не нашел, скорее всего ошибка в ядре линукса и это очевидно. Один х#й хочу к вам обратится за помощью. с шансом в 0.3% вы не найдете в моем коде ошибки, но всеже !!!палю исходники!!!(GNU General Public License):
щелкая еблом решил написать мразь которая будет в МОЙ ЛЮБИМЫЙ dwm bar высерать инфу.Я конечно не Quake3, но вывести в консоль "Привет мир!" На Си как занехуй захуй могу.
И вот тут такая чешуя. Так как у меня ноут GTX 35 serail OG, мне пздц важно знать сколько моя малыха прослужит и служит ли она сейчас вообще, для этого нужно узнать сколько в дуре % заряда. По итогу написав код, который ничем не уступает коду человека который 2 дня учит Си. Я принялся тестить. И ебать вы бы знали мое удивление когда эта параша заработала, да мало того что эта дура выводит текст как макака в клетке, так это она нахуй еще память высикивает захуяли? Открыв всеми известный дебагер htop я обнаружил что слякать моя, за 3 минуты работы набрала в массе до 5мб, а начинала с 1.5. От такого расклада у меня кепка слетела, и я начал искать ошибку - нихуя я не нашел, скорее всего ошибка в ядре линукса и это очевидно. Один х#й хочу к вам обратится за помощью. с шансом в 0.3% вы не найдете в моем коде ошибки, но всеже !!!палю исходники!!!(
C:
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <time.h>
#include <stdlib.h>
#define BAT1_DIR "/sys/class/power_supply/BAT1/capacity"
#define ADP1_DIR "/sys/class/power_supply/ADP1/online"
struct battery_data {
FILE * fp;
int BAT1, ADP1;
char format_battery[16];
};
void battery_status(struct battery_data * battery) {
battery->fp = fopen(BAT1_DIR, "r");
fscanf(battery->fp, "%d", &battery->BAT1);
battery->fp = fopen(ADP1_DIR, "r");
fscanf(battery->fp, "%d", &battery->ADP1);
snprintf(battery->format_battery, 16, battery->ADP1 == 0 ? "▼ %d%" : battery->ADP1 == 1 ? "▲ %d%" : "%d%", battery->BAT1);
fclose(battery->fp);
}
int main (int argc, char *argv[])
{
struct battery_data battery;
FILE * fp;
char command[64];
while (1) {
battery_status(&battery);
snprintf(command, 64, "xsetroot -name \"| %s |\"", battery.format_battery);
fp = popen(command, "r");
sleep(1);
pclose(fp);
}
return 0;
}
А ну и вот, чуть не забыл, я решил на башке (так специалисты называют язык BASH) переписать прогу сишную мою крутую где 0 ошибок, и в итоге на башке все отлично воркало, и никуда нахуй даже намека небыло на просер памяти, башка воркала мин 10 и как жрала 1.5мб так и жрет 1.5мб
А так всех с новым годом, найдите у меня в коде ошибку и я вам пришлю голову деда мороза на новый год!


