小编sam*_*rat的帖子

DLL包装器和DLL之间的区别

我不知道什么是DLL包装器.有人可以解释一下
1)什么是DLL包装器?
2)它与DLL有何不同?
3)如何使用它?

感谢致敬,

c++ windows dll

4
推荐指数
1
解决办法
5008
查看次数

从函数返回值存储char*

我正在尝试实现一个从串行端口(Linux)读取并返回char*的函数.该函数工作正常,但我如何存储函数的返回值.功能的例子是

char  *ReadToSerialPort()
{
 char *bufptr;
 char buffer[256];  // Input buffer/ /
 //char *bufptr;      // Current char in buffer //
 int  nbytes;       // Number of bytes read //

 bufptr = buffer;

 while ((nbytes = read(fd, bufptr, buffer+sizeof(buffer)-bufptr -1 )) > 0)
 {
  bufptr += nbytes;
  //  if (bufptr[-1] == '\n' || bufptr[-1] == '\r')
  /*if ( bufptr[sizeof(buffer) -1] == '*' && bufptr[0] == '$' )
  {
   break;
  }*/

 } // while ends


 if ( nbytes ) return bufptr;
 else return …
Run Code Online (Sandbox Code Playgroud)

c linux

2
推荐指数
1
解决办法
1550
查看次数

将char*转换为字符串

有没有人知道如何将char*转换为字符串.实际上,我有一个函数,它返回值为char*,现在我需要存储/复制std :: string.我尝试过类似的东西

char *sResult = (char*)malloc(1024); std:string line; line= line+ sResult

谢谢,问候,山姆

c c++

2
推荐指数
2
解决办法
9776
查看次数

以下代码有什么问题?

int *intialize(void) 
{
    int value[64];

    for ( int i = 0; i < 64 ; i++)
    {
        value[i] = i;

       return value;   
    }

}  

int main( )
{
    int * p;

    p = intialize();
    p[32] = 100;
    printf("%d", p[32]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

以上是在采访中向我询问的示例代码.虽然我没有发现错误并且明显被拒绝,但我很想知道这段代码到底是什么问题.

c

2
推荐指数
1
解决办法
424
查看次数

从整数中检索最后6位

我需要获取整数或Uint32的最后6位.例如,如果我的值为183,那么我需要最后六位,110 111即ie 55.

我写了一小段代码,但它没有按预期运行.你们能指出我犯错的地方吗?

int compress8bitTolessBit( int value_to_compress, int no_of_bits_to_compress )
{
    int ret = 0;
    while(no_of_bits_to_compress--)
    {
        std::cout << " the value of bits "<< no_of_bits_to_compress << std::endl;
        ret >>= 1;
        ret |= ( value_to_compress%2 );
        value_to_compress /= 2;
    }
    return ret;
}

int _tmain(int argc, _TCHAR* argv[])
{
    int val = compress8bitTolessBit( 183, 5 );

    std::cout <<" the value is "<< val << std::endl;
      system("pause>nul");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ visual-c++

2
推荐指数
2
解决办法
6506
查看次数

与其他数据类型的指针相比,为什么指向char的指针行为不同

我对以下的陈述表示怀疑;

int intvalue = 3;
int *pointInt = &intvalue;

char* p = "string";
cout << pointInt << std::endl;  // this will give memory location of intvalue which is ok.
cout << p<< std::endl; // why this will give string value  rather than memory location of where string is stored?
Run Code Online (Sandbox Code Playgroud)

c++ pointers char

2
推荐指数
1
解决办法
139
查看次数

程序从哪里分配内存?

作为C和C++程序员,我使用mallocnew分配内存.我只是想知道:操作系统如何分配内存?

  1. 它是从RAM还是从硬盘或其他地方分配的?

  2. 为了以防万一,我可以从硬盘借内存吗?

c c++

2
推荐指数
2
解决办法
1357
查看次数

什么数据包将在发送请求时首先到达

正如其他论坛中提到的那样,面试官已经提出了下面给出的问题.
我不知道确切的答案,但我会说HTTP请求?任何建议和解释

想象一下,用户坐在以太网连接的PC上.他打开了一个浏览器.他在地址栏中输入"www.google.com"并点击进入.

现在告诉我在以太网上出现的第一个数据包是什么.

谢谢

dns networking udp tcp

1
推荐指数
1
解决办法
977
查看次数

GNU通用公共许可证错误?

我开发了一个程序,它利用串行编程从串口读写,并将值放在Ubuntu环境下的数据库中.最近,我使用boost lib添加了一些功能来过滤读取功能等.但是当我运行程序时,比如在15-20分钟之后,我得到了分段错误.当我检查我在程序中定义的日志文件时,我得到了以下行.我不知道究竟是什么.有人可以指导我.

a copy of the GNU General Public License          along with this
Run Code Online (Sandbox Code Playgroud)

程序; 如果没有,请写信给Free Software Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA","NU General Public License
以及该程序; 如果没有,请写信给Free Software
Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA","
以及该程序; 如果没有,请写信给Free Software
Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA","ram; 如果没有,请写信给Free Software
Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA","e Free Software Foundation,Inc.,59 Temple Place,Suite 330,Boston,MA","tion,Inc .,59 Temple Place,Suite 330,Boston,MA","ace,Suite 330,Boston,MA","MA","","","
","HUB-ARM")

谢谢和问候,SamPrat.

c++ boost serial-port gnu

0
推荐指数
1
解决办法
196
查看次数

boostscoped_ptr 与 char* 类型抛出初始化错误

摘要:将 boost::scoped_ptr 与 char* 数据类型一起使用。我基于 Accelerated C++ chap12 编写了自己的 Str 类和函数。一切都很好,但出于我的好奇心,我尝试使用 boost::scoped_ptr 但花了几个小时后我没有成功。

需要注意的是:如果我不使用 boost ptr,一切都会按预期工作。

问题::错误: 没有匹配的构造函数来初始化 'boost::scoped_ptr' boost::scoped_ptr< char* > buffer_smrt_ptr( buffer ); ^~~~~~~

下面是我的代码

// test of copy function
    Str test_cpy( "String copy test");
    char* buffer = new char[ test_cpy.size() ];
    boost::scoped_ptr< char* > buffer_smrt_ptr( buffer );
    Str::size_type n_len  = test_cpy.copy( buffer_smrt_ptr,10, 0);
    buffer_smrt_ptr[  n_len ] = '\0';
    printf( "your  copied string: == %s\n", buffer );
Run Code Online (Sandbox Code Playgroud)

c++ boost

0
推荐指数
1
解决办法
1053
查看次数

是否有内存泄漏,我正确释放内存

亲爱的各位议员,我对是否在正确的地方释放记忆感到困惑.特别是*sResult?

int ReadToSerialPort( char *psResponse, int iMax)  
{  

    size_t iIn;  

    if ( fd < 1 )  
    {  
        printf( "port is not open\n" );  
        return -1;  
    }       

    iIn = read( fd, psResponse, iMax-1 );     
    if ( iIn < 0 )      
    {
        if ( errno == EAGAIN )  
        {  
            printf( "The errror in READ" );  
            return 0; // assume that command generated no response      
        }  
        else  
            printf( "read error %d %s\n", errno, strerror(errno) );  

   }  
   else   
 psResponse[(int)iIn<(int)iMax?iIn:iMax] = '\n';   

  return iIn;   

} …
Run Code Online (Sandbox Code Playgroud)

c++ memory-leaks

-3
推荐指数
1
解决办法
326
查看次数

c程序中的浮点异常

我在以下代码中有浮点异常.

int heavy_decimal_count ( int A, int B )        
{        
 char * markup = "Heavy";    
 int i , value;   
 int tempA = A;   
 int tempB = B;    
 int reminder = 0;    
 int sum = 0;     
 float average = 0.00;     
 int counter = 0;    
 if( (tempA < 0) || ( tempB <0 )||( B < A ) )    
 {    
    printf(" Error -> Numbers are negative or B is less than A");     
    return 0;     
 }    
 for (  i = A ; i …
Run Code Online (Sandbox Code Playgroud)

c

-3
推荐指数
1
解决办法
1473
查看次数

标签 统计

c++ ×8

c ×5

boost ×2

char ×1

dll ×1

dns ×1

gnu ×1

linux ×1

memory-leaks ×1

networking ×1

pointers ×1

serial-port ×1

tcp ×1

udp ×1

visual-c++ ×1

windows ×1