অনুভূত যে আমি এগিয়ে যাব এবং এমন কিছুর একটি পূর্ণ প্রস্ফুটিত উদাহরণ অন্তর্ভুক্ত করব যা লোকেদের কেবল সংকলন করতে পারে এবং তাদের জন্য দৌড়াতে পারে যা @ বুভিনজে'র উত্তরের ভিত্তিতে সি এর সাথে দক্ষ নয়
#include <stdio.h>
#include <string.h>
#include <fcntl.h> // open function
#include <unistd.h> // close function
#include "sys/syscall.h"
int main(); // Let's not worry about this for now
void dmesg( const char *tag, const char *msg, const int len )
{
const int TAG_LEN=3;
char buffer[128]={0};
memcpy( &buffer[0], tag, TAG_LEN );
memcpy( &buffer[TAG_LEN], msg, len );
int fd_kmsg = open( "/dev/kmsg", O_WRONLY );
write( fd_kmsg, &buffer, TAG_LEN+len );
close( fd_kmsg );
}
void dmesgWarn( const char *msg, const int len ){ dmesg( "<4>", msg, len ); }
void dmesgInfo( const char *msg, const int len ){ dmesg( "<6>", msg, len ); }
void dmesgDebug( const char *msg, const int len ){ dmesg( "<7>", msg, len ); }
int main(int argc, char **argv)
{
int getmysize = strlen(argv[1]);
printf("%d\n", getmysize);
printf("To be written: %s\nSize of argument: %d\n", argv[1], getmysize);
// dmesgWarn dmesgInfo or dmesgDebug
dmesgDebug(argv[1], getmysize);
};
উপরের অংশগুলি কে.এম.এস.সি. ও জিসিসি কেএমএস.সি.-কে কেএমএসজি হিসাবে সংরক্ষণ করুন; sudo ./kmsg "স্ট্রিং আপনি / dev / kmsg" এ যুক্ত করতে চান
make -C ...
কোনও ট্যাবের পরিবর্তে মেকফিলের আগে ফাঁকা স্থান রেখেছেন , তাই মেকফিলের উপরের বিষয়গুলি অনুলিপি করা কার্যকর হয় না - আরও এখানে । আমি কোনও সম্পাদনায় এটি যুক্ত করতে অক্ষম বলে মনে করি ... ধন্যবাদ, দুর্দান্ত উত্তর answer