小编ant*_*009的帖子

单个文件的format-patch

我有一个名为test_module.c的文件,它有一些我想要应用于本地工作副本的差异.

我尝试通过执行以下操作从远程创建补丁文件.但是,git没有抱怨任何错误.并没有创建任何补丁文件.

git format-patch master/dev_branch test/test_module.c
Run Code Online (Sandbox Code Playgroud)

可以创建一个单个文件的补丁,我可以申请吗?

(使用git版本1.7.5.4)

git

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

将屏幕密度放入正确的桶中

一组六个广义密度:

ldpi (low) ~120dpi
mdpi (medium) ~160dpi
hdpi (high) ~240dpi
xhdpi (extra-high) ~320dpi
xxhdpi (extra-extra-high) ~480dpi
xxxhdpi (extra-extra-extra-high) ~640dpi
Run Code Online (Sandbox Code Playgroud)

从每个手机显示的维基页面

缩小到桶中,即如果ppi是300,那么它会进入hdpi桶,因为它少于320?

Galaxy S3 306ppi -> bucket hdpi
Nexus 4  318ppi -> bucket hdpi
Nexus 5  445ppi -> bucket xhdpi
Nexus 5X 432ppi -> bucket xhdpi
Nexus 6  493ppi -> bucket xxhdpi 
Nexus 6P 518ppi -> bucket xxhdpi
Run Code Online (Sandbox Code Playgroud)

这是解决屏幕大小的桶的正确方法吗?

我问的原因是因为我创建了以下值目录资源:

values-hdpi/dimens
values-xhdpi/dimens
values-xxhdpi/dimens
values-xxxhdpi/dimens
Run Code Online (Sandbox Code Playgroud)

dimens.xml我有不同的边距,并根据桶大小设置dp即

<dimen name="network_quantity_margin_top">100dp</dimen>
Run Code Online (Sandbox Code Playgroud)

我很想知道这是否是正确的方法.

android

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

开始使用prolog的好IDE

我需要开始为我的工作学习Prolog.

我之前没有使用Prolog,我的公司需要构建一个使用Prolog的程序.

因此该程序将在商业上使用.

所以有些问题:

1)Prolog是否使用编译器来编译程序.像gcc一样用于c?

2)Prolog有商业标准吗?我只听说过SWI Prolog.

3)我已经在Linux上使用GNU Emacs多年了.我在考虑使用Prolog.el包吗?对此有何评论?

非常感谢任何答案,

prolog

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

在printf中创建一些文本显示为绿色和红色

linux gcc 4.4.1

我有以下fprintf语句,我想将OK视为绿色,将FAILED视为红色.这可能吗?

if(devh == -1)
{
    fprintf(stderr, "Device [ FAILED ]\n");
}
else
{
    fprintf(stderr, "Device [ OK ]\n");
}
Run Code Online (Sandbox Code Playgroud)

非常感谢任何建议,

c

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

创建一个可在linux和windows上运行的可移植库

gcc (GCC) 4.7.2
Run Code Online (Sandbox Code Playgroud)

你好,

我正在创建一个将在linux上编译的共享库和一个将在Windows上使用相同的源代码编译的DLL.所以我正在为linux和windows创建一个可移植的库.

在我的库头文件中是这个,即module.h

#ifdef __cplusplus
extern "C" {
#endif

#ifdef _WIN32
#define LIB_INTERFACE(type) EXTERN_C __declspec(dllexport) type
#else
#define LIB_INTERFACE(type) type
#endif

LIB_INTERFACE(int) module_init();

#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)

在源代码中我有以下即module.c

#include "module.h"

LIB_INTERFACE(int) module_init()
{
    /* do something useful
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在我的测试应用程序中将链接并使用此模块.所以我有这个:

#include "module.h"

int main(void)
{
    if(module_init() != 0) {
    return -1;
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

1)我上面所做的是为linux和windows创建可移植库的正确实现吗?

2)我只是想知道我已经包装了函数,extern "C"以便可以从用C++编译的程序调用该库.我是否还需要EXTERN_C以下内容:

#define LIB_INTERFACE(type) EXTERN_C __declspec(dllexport) type
Run Code Online (Sandbox Code Playgroud)

3)目的是EXTERN_C什么?

提前谢谢了,

c c++ compatibility

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

无法连接到X服务器:0.0与Qt应用程序

编译Fedora 10.

我刚刚开始了我的第一个qt GUI应用程序.我使用了所有默认设置.

它只是一个简单的形式.它构建正常,没有任何错误.但是当我尝试运行应用程序时.我收到以下消息:

Starting /home/rob/projects/qt/test1/test1/test1...
No protocol specified
test1: cannot connect to X server :0.0
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议,

linux x11 qt

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

null终止一个字符串

gcc 4.4.4 c89

null终止字符串的标准方法是什么?当我使用时,NULL我收到一条警告信息.

*dest++ = 0; 
*dest++ = '\0'; 
*dest++ = NULL; /* Warning: Assignment takes integer from pointer without a cast */
Run Code Online (Sandbox Code Playgroud)

源代码:

size_t s_strscpy(char *dest, const char *src, const size_t len)
{
    /* Copy the contents from src to dest */
    size_t i = 0;
    for(i = 0; i < len; i++)
    *dest++ = *src++;

    /* Null terminate dest */
     *dest++ = 0; 

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

另一个问题:我故意注释掉null终止的那一行.但是,它仍然正确地打印出dest的内容.此函数的调用者将通过包括NULL或不包括字符串的长度发送.即strlen(src) + 1stlen(src). …

c

27
推荐指数
4
解决办法
14万
查看次数

使用图层列表显示一些可绘制的图像

Android studio 2.0 Preview 3b

你好,

我创建了以下布局,我想用它作为我的应用程序的背景.我正在使用layer-list,我想在两个地方展示一碗豌豆.在预览中一切看起来都不错,但是当我在genymotion或一些廉价的中国设备上运行时,图像会在屏幕上延伸.但是,在Android AVD上,一切看起来都不错,在我的Nexus 5(真实设备)上一切正常.

这就是我想要的,这就是它在AVD和Nexus 5中的显示方式.你可以看到没有问题.

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item>
        <shape>
            <gradient
                android:centerX="0.5"
                android:centerY="0.3"
                android:endColor="#08e25b"
                android:gradientRadius="300dp"
                android:startColor="#b7e9c9"
                android:type="radial" />
        </shape>
    </item>

    <item
        android:width="48dp"
        android:height="48dp"
        android:left="350dp"
        android:top="400dp">
        <bitmap android:src="@drawable/peas" />
    </item>

    <item
        android:width="68dp"
        android:height="68dp"
        android:drawable="@drawable/peas"
        android:left="-20dp"
        android:top="480dp" />
</layer-list>
Run Code Online (Sandbox Code Playgroud)

我已将peas.png文件放入drawable-nodpi,只需添加宽度和高度layer-list

当我运行genymotion和一些便宜的智能设备时,我得到以下内容: 在此输入图像描述

Just quick summary.

Nexus 5 real device and AVD devices works ok
Genymotion and cheap smart devices doesn't display correctly
Run Code Online (Sandbox Code Playgroud)

我对我应该相信的事感到困惑.我也尝试使用位图来查看是否会产生任何影响.

非常感谢任何建议.

android drawable layer-list android-drawable genymotion

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

BringToFront在协调器布局中不起作用

Android Studio 2.0 Preview 4
Run Code Online (Sandbox Code Playgroud)

我正在使用BringToFrontTextView来显示在其他控件前面.

Doc的bringToFront()说你必须打电话requestlayout invalidate.我做了什么,但没有用.

tvLevel.bringToFront();
tvLevel.requestLayout();
tvLevel.invalidate();
Run Code Online (Sandbox Code Playgroud)

我在TextView里面用这个android.support.design.widget.CoordinatorLayout

但是,以下代码确实有效.但仅支持API 21及更高版本.但我需要支持API 16.

  if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
      tvLevel.setTranslationZ(4);
      tvLevel.invalidate();
  }
Run Code Online (Sandbox Code Playgroud)

或者通过设置xml属性属性android:translationZ("4dp")工作.但是,仅适用于API 21

android bringtofront

27
推荐指数
3
解决办法
3342
查看次数

如果没有@Inject构造函数或@ Provide-annotated方法,则无法提供

我正在使用Android Dagger2,但我收到以下错误.

我的AppModule类是:

@Module
public class AppModule {
    @Provides
    public DownloadFilePresenterImp provideDownloadfilePresenterImp(DownloadFileView downloadFileView) {
        return new DownloadFilePresenterImp(downloadFileView);
    }
}
Run Code Online (Sandbox Code Playgroud)

我的AppComponent接口是:

@Singleton
@Component(modules = AppModule.class)
public interface AppComponent {
    void inject(DownloadFileView target);
}
Run Code Online (Sandbox Code Playgroud)

我的DaggerInject类

public class DaggerInjector {
    private static AppComponent mAppComponent = DaggerAppComponent
            .builder()
            .appModule(new AppModule())
            .build();

    public static AppComponent getAppComponent() {
        return mAppComponent;
    }
}
Run Code Online (Sandbox Code Playgroud)

我想注入我的Fragment(DownloadFileView)

@Inject DownloadFilePresenterImp mDownloadFilePresenterImp;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
   final View view = inflater.inflate(R.layout.download_file_view, container, false);
   /* Initialize presenter …
Run Code Online (Sandbox Code Playgroud)

android dagger-2

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