小编Ste*_*rst的帖子

Phonegap将项目添加到通知栏

我刚刚学习PhoneGap,我想将通知推送到计时器上的通知托盘.

我尝试了PhoneGap API中的通知功能,但它仅适用于应用程序中的消息框.

任何想法如何发送推送通知到"通知托盘"Android系统?

android cordova

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

SQLite转义字符串c ++

请考虑以下代码

char bar[] = "hello world \"One\", two, 'three'";
char *zSQL = sqlite3_mprintf("INSERT INTO stuff (`foo`) VALUES ('%q');", bar ) ; 
sqlite3_exec(db, zSQL, 0, 0, 0);
sqlite3_free(zSQL);
/* Produces a exception error */
Run Code Online (Sandbox Code Playgroud)

问题是引号不会在SQL语句中被转义.如果我在PHP中编程,我会使用像sqlite_escape_string这样的函数来转义字符串,然后再将它们插入SQL查询中,但我似乎无法在C++中找到等效的函数.我可以构建我自己的sqlite_escape_string函数,但我相信必须有一个已经编写/测试...

是否有一个sqlite_escape_string()等效的c ++函数?

c++ sql sqlite escaping

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

在读取之前获取等待串口的字节数,linux

我正在将Win32串行类转换为Linux(Ubuntu)这个串行类所需的功能之一是"查看"串行缓冲区,以查看在读取串行端口之前在串行端口上等待了多少字节.

在这种修脚情况下,我只需要知道端口上是否有任何字节,然后再尝试读取它.

在Windows中我使用COMSTATS,但我似乎无法在Linux中找到类似的功能.

我的问题是:

在Linux上如何读取等待串口的BYTES/chars数量而不将其从串口缓冲区中删除?

linux serial-port

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

什么是必需的HTTP标头字段

我知道任何HTTP请求都需要以下标头字段.

  • 主办

我发现这个文档描述了一些HTTP Header字段,但没有所需的列表.

我的问题是;

  • 还需要哪些标题字段?
  • 建议的标题字段是什么?

header http

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

从C程序调用的c ++库中的new和delete

我有一系列c ++类存储在带有C接口的库中(参见下面的示例).我有一个C程序,通过C接口包含这个c ++库.这似乎工作得很好,直到我尝试用new和创建一个库在库中delete.

我正在使用gcc为C++库编译C代码和g ++,我在unbunu上用Eclipse创建了项目.

我得到的错误消息是

undefined reference to 'operator new(unsigned int)' 
undefined reference to 'operator delete(void*)' 
Run Code Online (Sandbox Code Playgroud)

Libary H文件

#ifndef CFOO_H_
#define CFOO_H_
#ifdef __cplusplus

class CBar {
   public:
      int i ; 
};

class CFoo {
   public:
      int work();
};
extern CFoo g_foo ;
extern "C" {
#endif /* __cplusplus */    
   int foo_bar( ) ;    
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* CFOO_H_ */
Run Code Online (Sandbox Code Playgroud)

Libary cpp文件

#include "CFoo.h"
CFoo g_foo ;

int CFoo::work() { …
Run Code Online (Sandbox Code Playgroud)

c c++ gcc g++

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

std :: list threading push_back,front,pop_front

std :: list thread是安全的吗?我假设它不是这样我添加了自己的同步机制(我认为我有正确的术语).但我仍然遇到问题

每个函数都由一个单独的线程调用.Thread1不能等待,它必须尽可能快

std::list<CFoo> g_buffer; 
bool g_buffer_lock; 

void thread1( CFoo frame ) {
    g_buffer_lock = true ; 
    g_buffer.push_back( frame ) ; 
    g_buffer_lock = false; 
}


void thread2( )
{
    while( g_buffer_lock ) {
        // Wait 
    }

    // CMSTP_Send_Frame * pMSTPFrame = NULL ; 
    while ( ! g_buffer_lock && g_buffer.size() > 0 )
    {
        // Get the top item 
        CFoo& pFoo = g_buffer.front() ;

        // Do something. 

        // remove the front item 
        g_buffer.pop_front();
    }
}
Run Code Online (Sandbox Code Playgroud)

在大约170k调用thread1和900k调用thread2后,我得到一个异常错误 CFoo& pFoo = …

c++ multithreading stl

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

c ++中的静态vs成员函数存在开销

在C++类中,使用静态函数而不是成员函数会产生任何开销.

class CExample
{
    public: 
        int foo( int a, int b) {
            return a + b ; 
        }
        static int bar( int a, int b) {
            return a + b ; 
        } 
};
Run Code Online (Sandbox Code Playgroud)

我的问题是;

  • 在这个例子中foo()或bar()更有效吗?
  • 为什么我不想让foo()进入静态函数,因为它不会改变任何成员变量?

c++ static

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

Cakephp保存一个主键不是'id'的表

我有一个现有的Web应用程序,我转换为使用CakePHP.问题是大多数表的主键都是这种格式"$ {table_name} _id"(story_id)而不是'id'的CakePHP方式

当我尝试更新故事表中某行的某些字段时,Save()函数将返回false.有没有办法从Save()函数获取更详细的错误报告.?

当我Configure::write('debug', 2);进入core.php并检查SQL语句时,我没有看到任何UPDATE命令,只看到SELECT语句.

我试图编辑控制器添加以下行来手动设置控制器的id字段,但它没有帮助.

$this->Story->id = $this->data['Story']['story_id'] ; 
Run Code Online (Sandbox Code Playgroud)

我的想法已经不多了.有什么建议?

我已经包含了我在下面使用的源代码

故事控制器:

 function admin_edit($id = null) 
 {
  if (!$id && empty($this->data)) {
   $this->Session->setFlash(__('Invalid '. Configure::read('Site.media') , true));
   $this->redirect(array('action'=>'index'));
  }

  $this->layout = 'admin';  
  if (!empty($this->data)) {
   if ($this->Story->save($this->data)) {
    $this->Session->setFlash(__('The '. Configure::read('Site.media') .' has been saved', true));
   } else {
    $this->Session->setFlash(__('The '. Configure::read('Site.media') .' could not be saved. Please, try again.', true));
   }
  }

  $this->data = $this->Story->read(null, $id );
 }
Run Code Online (Sandbox Code Playgroud)

故事模型:

class Story extends AppModel …
Run Code Online (Sandbox Code Playgroud)

php cakephp

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

SQLite删除数据库中最后25%的记录

我正在使用SQLite数据库来存储数据记录器中的值.数据记录器最终将填满计算机上的所有可用硬盘空间.我正在寻找一种方法,一旦达到一定的限制,从数据库中删除最后25%的日志.

使用以下代码:

$ret = Query( 'SELECT id as last FROM data ORDER BY id desc LIMIT 1 ;' ); 
$last_id = $ret[0]['last'] ; 
$ret = Query( 'SELECT count( * ) as total FROM data' );
$start_id = $last_id - $ret[0]['total'] * 0.75 ; 
Query( 'DELETE FROM data WHERE id < '. round( $start_id, 0 ) );
Run Code Online (Sandbox Code Playgroud)

将在数据库旁边创建一个日志文件,该文件将填满驱动器上的剩余空间,直到脚本失败.

如何/我可以阻止创建该日志文件?无论如何将所有三个SQL查询合并到一个语句中?

sql sqlite

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

检测lib的MSC_VER

我有一个代码库,我正在编译到库中.通常我会发送图书馆,MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)但我的客户要求它MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012).

我已经使用Visual Studio 2012下载/安装并编译了我的Lib的新版本.现在我想检查lib以查看它当前使用的_MSC_VER版本以确保我发送它们正确的版本.

如何检测库中使用的_MSC_VER?

static-libraries visual-studio visual-studio-2012

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