小编Mat*_*gan的帖子

在C++中通过引用传递指针的原因?

在哪种情况下你想在c ++中使用这种性质的代码?

void foo(type *&in) {...}

void fii() {
  type *choochoo;
  ...
  foo(choochoo);
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers reference

89
推荐指数
4
解决办法
9万
查看次数

相同活动中的Android两个片段

我知道以下帖子: 在单个活动中使用多个片段

我正在寻找的是具体问题的具体答案.以下代码的结果是一个空白的FragmentActivity.我在下面的代码中缺少什么来让它呈现一个包含两个片段的活动.一个是空列表片段,另一个是包含输入框和水平布局按钮的片段(此布局可以在http://developer.android.com/training/basics/firstapp/starting-找到 - activity.html)我希望绝对放在屏幕底部,固定高度约为25度.

的Manifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.my.package"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.my.package.Application"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

我的主要活动及其关联的application.xml文件.

package com.my.package;

import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;

public class Application  
extends FragmentActivity 
implements MessageListViewFragment.OnLineSelectedListener, 
SendMessageFragment.OnSendButtonPressed {

    MessageListViewFragment mMessageListFragment;
    SendMessageFragment mSendMessageFragment;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.application);

        mMessageListFragment = new MessageListViewFragment();
        mSendMessageFragment = new …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

使用SWIG生成Java接口

我正在使用SWIG制作一个C++库的Java包装器(关于Json(de)序列化)以在Android上使用它.我在C++中定义了一个抽象类,表示可以(反)序列化的对象:

class IJsonSerializable {
public:
    virtual void serialize(Value &root) = 0; 
    virtual void deserialize(Value &root) = 0; 
};
Run Code Online (Sandbox Code Playgroud)

现在,我正在尝试从这个类生成一个Java接口.这是我的SWIG界面:

%module JsonSerializable
%{
#include "JsonSerializable.hpp"
%}

%import "JsonValue.i"

class IJsonSerializable {
public:
    virtual void serialize(Value &root) = 0; 
    virtual void deserialize(Value &root) = 0;
};
Run Code Online (Sandbox Code Playgroud)

但是生成的Java代码(显然,因为我无法找到如何告诉SWIG这是一个接口)一个简单的类,有两个方法和一个默认的构造函数/析构函数:

public class IJsonSerializable {
  private long swigCPtr;
  protected boolean swigCMemOwn;

  public IJsonSerializable(long cPtr, boolean cMemoryOwn) {
    swigCMemOwn = cMemoryOwn;
    swigCPtr = cPtr;
  }  

  public static long getCPtr(IJsonSerializable obj) {
    return (obj == null) ? 0 …
Run Code Online (Sandbox Code Playgroud)

c++ java java-native-interface swig

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

错误:整数常量上的后缀"b11111111111111111111111111111111"无效

我在RHEL 5.7 x86_64框上使用g ++版本4.1.2.使用RHEL 6.0 x86_64附带的g ++版本4.4.5可以很好地构建它.这个编译器错误意味着什么,你如何解决它?

[mehoggan@hoggant35002 C]$ g++ -Wall -o binary ./binary.cpp 
./binary.cpp:2:5: error: invalid suffix "b11111111111111111111111111111111" on integer constant
./binary.cpp:3:5: error: invalid suffix "b11111111111111111111111111111110" on integer constant
./binary.cpp:4:5: error: invalid suffix "b11111111111111111111111111111100" on integer constant
./binary.cpp:5:5: error: invalid suffix "b11111111111111111111111111111000" on integer constant
./binary.cpp:6:5: error: invalid suffix "b11111111111111111111111111110000" on integer constant
./binary.cpp:7:5: error: invalid suffix "b11111111111111111111111111100000" on integer constant
./binary.cpp:8:5: error: invalid suffix "b11111111111111111111111111000000" on integer constant
./binary.cpp:9:5: error: invalid suffix "b11111111111111111111111110000000" on integer constant
./binary.cpp:10:5: error: …
Run Code Online (Sandbox Code Playgroud)

c++ g++

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

在c ++中void*volatile*的含义是什么?

我正在查看以下代码:

inline void* interlocked_read_acquire(void* volatile* x);
Run Code Online (Sandbox Code Playgroud)

并且我想知道为什么不仅仅volatile void*作为一个论点.一般来说,什么是语义或定义volatile*?我也假设您可以使用volatile*除void之外的任何其他类型的限定符.那是对的吗?

c++ pointers qualifiers volatile

21
推荐指数
3
解决办法
3347
查看次数

在Linux中从命令行(又名bash脚本)在调试模式下构建Qt项目

我已经有一个带有.pro文件的项目,可以在调试和发布模式下构建.所以我的问题是,如果我想用调试信息构建我的二进制文件,我必须指定命令行上的选项.以下是使用bash脚本在发布中构建的示例:

cd ${CHECKOUT_DIR_DEV_OGL_DX_ENGINE_SKIA};
echo `date`: "Running \`qmake\` on Skia";
qmake&>${SKIA_LOG};
buildstatus $? "Running \`qmake\` on Skia";
echo `date`: "Running \`make\` on Skia";
make&>${SKIA_LOG};
buildstatus $? "Running \`make\` on Skia Please see ${SKIA_LOG}";
Run Code Online (Sandbox Code Playgroud)

我现在需要添加什么来构建调试模式?

linux bash qt qmake makefile

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

限制--memcheck自己的代码

可以说我使用的是一个使用glibc的库.当我通过Valgrind运行它时退出程序时,Valgrind会检测到各种内存泄漏.我100%确定没有泄漏与我刚写的几行代码明确相关.有没有办法抑制其他库的泄漏,并将泄漏检测限制为您的直接代码?

例如:

valgrind --tool=memcheck --leak-check=full --leak-resolution=high \
    --log-file=vgdump ./Main
Run Code Online (Sandbox Code Playgroud)

可执行文件是从以下源构建的:

// Include header files for application components.
#include <QtGui>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);
    QWidget window;
    window.resize( 320,240 );
    window.setWindowTitle(
        QApplication::translate( "toplevel", "Top-level Widget" ) );
    window.show( );

    QPushButton button(                   
        QApplication::translate( "childwidget", "Press me"), &window );
    button.move( 100, 100 );
    button.show( );
    int status = app.exec();
    return status;
}
Run Code Online (Sandbox Code Playgroud)

有一个报告以下内容的日志文件(删除了大部分):

   ==12803== Memcheck, a memory error detector
   ==12803== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward …
Run Code Online (Sandbox Code Playgroud)

valgrind suppression

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

C++ 11 std :: thread :: detach和对共享数据的访问

如果在a std::thread和主线程(或任何其他线程)之间共享变量,即使thread::detach()在创建线程后立即执行该方法,您仍然可以访问这些共享变量吗?

c++ multithreading c++11

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

了解基指针和堆栈指针:在gcc输出的上下文中

我有以下C程序:

int main()
{
    int c[10] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2};
    return c[0];
}
Run Code Online (Sandbox Code Playgroud)

当使用带有gcc的-S指令编译时,我得到以下程序集:

    .file   "array.c"
    .text
.globl main
    .type   main, @function
main:
.LFB0:
    .cfi_startproc
    pushq   %rbp
    .cfi_def_cfa_offset 16
    .cfi_offset 6, -16
    movq    %rsp, %rbp
    .cfi_def_cfa_register 6
    movl    $0, -48(%rbp)
    movl    $0, -44(%rbp)
    movl    $0, -40(%rbp)
    movl    $0, -36(%rbp)
    movl    $0, -32(%rbp)
    movl    $0, -28(%rbp)
    movl    $0, -24(%rbp)
    movl    $0, -20(%rbp)
    movl    $1, -16(%rbp)
    movl    $2, -12(%rbp)
    movl    -48(%rbp), %eax
    leave
    .cfi_def_cfa 7, …
Run Code Online (Sandbox Code Playgroud)

c assembly gcc gnu-assembler

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

GNU Make for循环有两个变量

我想写下这些内容:

$(foreach (var1, var2), ($(LIST1), $(LIST2)), cp $(var1) $(var2);)
Run Code Online (Sandbox Code Playgroud)

我如何在GNU makefile中执行此操作?

gnu makefile

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