草庐IT

non-struct

全部标签

linux - bash PS1 : line wrap issue with non-printing characters from an external command

我正在使用外部命令来填充我的bash提示符,它会在每次评估PS1时运行。但是,当此命令输出不可打印的字符(如颜色转义码)时,我遇到了问题。这是一个例子:$catgreen_cheese.sh#!/bin/bashecho-e"\033[32mcheese\033[0m"$exportPS1="\$(./green_cheese.sh)\$"cheese$#在PS1提示中处理非打印字符的规范方法是将它们包含在\[和\]转义序列中。问题是,如果您从外部命令执行此操作,那么PS1解释器不会解析这些转义符:$catgreen_cheese.sh#!/bin/bashecho-e"\[\033[

Linux 内核 : copy_from_user - struct with pointers

我已经实现了某种字符设备,我需要有关copy_from_user函数的帮助。我有一个结构:structmy_struct{inta;int*b;};我在用户空间对其进行初始化,并使用“写入”函数将指向my_struct的指针传递到我的字符设备。在内核的空间字符设备“写入”函数中,我将它从*char转换为这种结构。我使用kmalloc为结构分配了一些内存,并向其中执行了copy_from_user操作。对于简单的'inta'没问题,但它只复制b值的指针(地址),而不是b指向的值,所以我现在在内核空间中,我正在使用指向a的指针用户空间内存。这是不正确的吗?我不应该直接访问用户空间指针,我必

c - 如何查找 C 结构 (struct sockaddr_in) 的手册页?

我很难找到套接字中使用的结构的手册页。所以我目前正在从一个单独的在线教程中了解它们。但如果知道如何在手册页本身中查找这些结构,那就太好了。我使用的是Debian8.3Linux系统。例如,我在mangetaddrinfo中找到了关于structaddrinfo的信息。但我无法在任何手册页中找到有关structsockaddr_in的信息。哪个手册页包含有关此结构的详细信息?以及一般如何找到此类结构的手册页? 最佳答案 您可以通过键入man7ip然后手动搜索它或按/并键入sockaddr_in来找到该特定结构。如果您不知道要查看哪个部

c - 使用 struct epoll_event 处理内存

我正在使用epolllibrary用C语言开发服务器我有一个关于如何为structepoll_event处理内存的问题。我在一些在线示例中注意到,当进行epoll_ctl调用时,events参数在堆栈上分配,然后传递指针,如下所示:structepoll_eventev;ev.events=EPOLLIN;epoll_ctl(epfd,EPOLL_CTL_ADD,sockfd,&ev);现在我们都知道函数返回时ev会发生什么。我的问题是:epoll库是在内部复制这些值还是依赖于您传递给堆分配的结构?上面的例子会完全破坏我的react器实现吗?如果是这样,跟踪我的堆分配epoll_eve

c - Linux C : Easy & 'pretty' dump/printout of structs (like in gdb) - from source code?

我正在构建的内核模块中的一些结构存在一个小问题,所以我认为如果有一种简单的方法来打印结构及其值会很好——下面是一个小的用户态示例我的意思。假设我们有如下简单的C示例(以bash命令的形式给出):FN=mtestcat>$FN.c//printf#include//callocstructperson{intage;intheight;};staticstructperson*johndoe;main(){johndoe=(structperson*)calloc(1,sizeof(structperson));johndoe->age=6;asm("int3");//breakpoin

c - time_t 的最大值(struct timespec)

我正在使用structtimespec结构,这里是:structtimespec{time_ttv_sec;/*Seconds*/longtv_nsec;/*Nanoseconds*/};事情是,用户将输入每个成员的值,我想检查最大值。用户可以输入的值。我可以取最大值吗?time_t的值作为整数最大值?即INT_MAX用于tv_sec和LONG_MAX(在limits.h中定义)用于tv_nsec?两者的最小可接受值是多少?是零吗?我猜不能接受负值?补充一下,这些值将在计时器中使用。P.S:time_t的typedef在哪里?未能及时找到。h。 最佳答案

linux - struct hostent 是否有字段 "h_addr"?

我遇到了下面的代码截图:structhostent*hp;hp=my_gethostbyname(localhost);if(hp==NULL){ls_syslog(LOG_ERR,I18N_FUNC_FAIL,fname,"my_gethostbyname()");return-1;}strcpy(localhost,hp->h_name);memcpy(&addr,hp->h_addr,hp->h_length);我对最后一句比较迷惑,structhostent的声明是这样的:structhostent{char*h_name;/*officialnameofhost*/char*

C : how can I change from file descriptor to FILE struct and vice versa?

有什么方法可以将int文件描述符更改为FILE结构指针或/和将FILE*更改为文件描述符C? 最佳答案 函数fdopen()返回一个与打开的文件描述符关联的新(FILE*)。函数fileno()返回与打开的FILE*关联的文件描述符。 关于C:howcanIchangefromfiledescriptortoFILEstructandviceversa?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com

php - number_format() 导致错误 "A non well formed numeric value encountered"

我正在使用number_format将float舍入为仅2位小数。问题是我的一些输入没有超过2个小数位开头。所以代码:number_format($value,2)如果它没有足够的十进制数字,它不会和平地添加0,而是在Apache日志中引发错误,这是不可取的。因此number_format(2.1,2)或number_format(0,2)将在Apache日志中引发错误。[ThuJun3017:18:042011][error][client127.0.0.1]PHPNotice:Anonwellformednumericvalueencounteredin/home/tahoang/

php - Laravel/ Eloquent : Fatal error: Call to a member function connection() on a non-object

我正在Laravel4中构建一个包,但在尝试访问似乎是正确实例化对象的数据库时遇到非对象错误。这是设置:有问题的配置和类:composer.json:..."autoload":{"classmap":["app/commands","app/controllers","app/models","app/database/migrations","app/database/seeds","app/tests/TestCase.php"],"psr-0":{"Vendor\\Chat":"src/vendor/chat/src"}}...类:namespaceVendor\Chat;us