小编Rag*_*nar的帖子

如何检查String中的String值是否为布尔类型?

我对此做了一点搜索,但找不到任何有用的东西.

关键是如果String值为"true"或"false",则返回值应为true.在其他每一个值中都应该是假的.

我试过这些:

String value = "false";
System.out.println("test1: " + Boolean.parseBoolean(value));
System.out.println("test2: " + Boolean.valueOf(value));
System.out.println("test3: " + Boolean.getBoolean(value));
Run Code Online (Sandbox Code Playgroud)

所有函数返回false :(

java string boolean

38
推荐指数
6
解决办法
10万
查看次数

未定义的引用google :: protobuf :: internal :: empty_string_ [abi:cxx11]

我正在尝试使用Protocol Buffers 2.6.1和GNU GCC 5.1.0(在Ubuntu 14.10上)构建简单的测试应用程序,并且我得到以下错误:

/home/ragnar/cpp-tools/gcc-linux/bin/g++   -c  "/home/ragnar/cpp-projects/gprotobuf_test/main.cpp" -g -O0 -Wall   -o ./Debug/main.cpp.o -I. -I/home/ragnar/cpp-tools/libs/linux64/protobuf/include -I.
/home/ragnar/cpp-tools/gcc-linux/bin/g++   -c  "/home/ragnar/cpp-projects/gprotobuf_test/messages.pb.cc" -g -O0 -Wall   -o ./Debug/messages.pb.cc.o -I. -I/home/ragnar/cpp-tools/libs/linux64/protobuf/include -I.  
/home/ragnar/cpp-tools/gcc-linux/bin/g++  -o ./Debug/gprotobuf_test @"gprotobuf_test.txt" -L. -L/home/ragnar/cpp-tools/libs/linux64/protobuf/lib  -lprotobuf  
./Debug/main.cpp.o: In function google::protobuf::internal::GetEmptyStringAlreadyInited[abi:cxx11]():  
  /home/ragnar/cpp-tools/libs/linux64/protobuf/include/google/protobuf/generated_message_util.h:80: 
    undefined reference to google::protobuf::internal::empty_string_[abi:cxx11]  
  /home/ragnar/cpp-tools/libs/linux64/protobuf/include/google/protobuf/generated_message_util.h:81: 
    undefined reference to google::protobuf::internal::empty_string_[abi:cxx11]  
./Debug/messages.pb.cc.o: In function protobuf_AssignDesc_messages_2eproto():  
  /home/ragnar/cpp-projects/gprotobuf_test/messages.pb.cc:32: 
    undefined reference to google::protobuf::DescriptorPool::FindFileByName(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const  
./Debug/messages.pb.cc.o: In function protobuf_AddDesc_messages_2eproto():  
  /home/ragnar/cpp-projects/gprotobuf_test/messages.pb.cc:83: 
    undefined reference to google::protobuf::MessageFactory::InternalRegisterGeneratedFile(char const*, void (*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&))  
./Debug/messages.pb.cc.o: …
Run Code Online (Sandbox Code Playgroud)

c++ gcc protocol-buffers

18
推荐指数
3
解决办法
3万
查看次数

混合16位线性PCM流并避免削波/溢出

我试图将2个16位线性PCM音频流混合在一起,我似乎无法克服噪音问题.我认为将样品混合在一起时它们会溢出.

我有以下功能......

short int mix_sample(short int sample1, short int sample2)
{
    return #mixing_algorithm#;
}
Run Code Online (Sandbox Code Playgroud)

......这就是我尝试过的#mixing_algorithm#

sample1/2 + sample2/2
2*(sample1 + sample2) - 2*(sample1*sample2) - 65535
(sample1 + sample2) - sample1*sample2
(sample1 + sample2) - sample1*sample2 - 65535
(sample1 + sample2) - ((sample1*sample2) >> 0x10) // same as divide by 65535
Run Code Online (Sandbox Code Playgroud)

其中一些产生了比其他产品更好的结果,但即使是最好的结果也包含了很多噪音.

任何想法如何解决?

c audio signal-processing mixing pcm

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

MySQL触发器/程序执行延迟

有没有一个像样的方法来延迟执行mysql触发器?

WHILE @condition = 0
  sleep for awhile

insert into some_table values(NEW.value1, NEW.value2);
Run Code Online (Sandbox Code Playgroud)

mysql triggers stored-procedures

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

如何通过unsigned long传递std :: shared_ptr回调?

我有一个旧的C风格的库,它使用无符号long的回调用于用户参数,我想将我的shared_ptr传递给回调,以便引用计数递增.

void callback( unsigned long arg ) {
  std::shared_ptr<my_class> ptr = ??? arg ???
}

void starter_function() {
  std::shared_ptr<my_class> ptr = std::make_shared<my_class>();

  unsigned long arg = ??? ptr ???
  // pass to library so it may be used by callback
}
Run Code Online (Sandbox Code Playgroud)

目前我在shared_ptr上使用get()然后使用C样式转换,但是当start_function超出范围时会产生问题.

c++ shared-ptr

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

将unsigned char数组转换为IP字符串的最快方法是什么?

我需要(或多或少)实时处理大量这些.我目前正在使用的方法不再削减它.

std::string parse_ipv4_address( const std::vector<unsigned char> & data, int start )
{
    char ip_addr[16];
    snprintf( ip_addr, sizeof(ip_addr), "%d.%d.%d.%d", 
        data[start + 0], data[start + 1], data[start + 2], data[start + 3] );
    return std::string( ip_addr ); 
}

// used like this
std::vector<unsigned char> ip = { 0xc0, 0xa8, 0x20, 0x0c };
std::string ip_address = parse_ipv4_address( ip, 0 );

std::cout << ip_address << std::endl; // not actually printed in real code 
// produces 192.168.32.12
Run Code Online (Sandbox Code Playgroud)

有更快的方法吗?如何?

注意!性能是这里的问题所以这个问题不重复.

c++

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