小编Sud*_*dar的帖子

在avr g ++中禁用函数声明错误

我正在使用这个Makefile来编译我的Arduino草图,其中包含CPP和C的以下标志

CPPFLAGS      += -mmcu=$(MCU) -DF_CPU=$(F_CPU) -DARDUINO=$(ARDUINO_VERSION) \
            -I. -I$(ARDUINO_CORE_PATH) -I$(ARDUINO_VAR_PATH)/$(VARIANT) \
            $(SYS_INCLUDES) $(USER_INCLUDES) -g -Os -w -Wall \
            -ffunction-sections -fdata-sections
CFLAGS        = -std=gnu99
CXXFLAGS      = -fno-exceptions
Run Code Online (Sandbox Code Playgroud)

当我编译一个cpp文件时,如果函数在声明之前被使用,我会收到一个致命的错误.我浏览了avr g ++选项,发现选项-Wimplicit-function-declaration可以启用它.此外,它还通过-Wall选项启用,该选项在make文件中使用.

我想启用-Wall选项(因为它启用了很多其他警告)但只禁用-Wimplicit-function-declaration选项.

我检查了文档,但无法弄清楚如何做到这一点.有人可以告诉我该怎么做吗?

c++ compiler-errors makefile arduino avr-gcc

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

根据vim中的文件扩展名更改文件类型

我想根据文件扩展名更改文件类型vim.

我在我的代码中有以下代码 .vimrc

autocmd BufNew,BufNewFile,BufRead *.txt,*.text,*.md,*.markdown setlocal ft=markdown
Run Code Online (Sandbox Code Playgroud)

但是当我使用扩展.md文件打开文件时,文件类型不会更改.我运行:set ft命令,它显示输出为filetype=modula2.

我做错了吗?

编辑:

我开始通过重命名我的旧.vimrc文件进行调试,并用这一行创建了一个新文件.它运作正常.然后我替换了我的旧.vimrc文件,一切似乎都运行正常.猜猜是因为我正在使用的一些插件中的一些问题.

但接受ZyX的答案,因为它认为我是另一种方法.

vim vim-syntax-highlighting

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

在线性布局中嵌套相对布局

我在layout.xml中有以下代码.

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal" android:layout_height="wrap_content" android:layout_width="fill_parent">

    <EditText android:hint="@string/feed_url"
        android:id="@+id/feedUrl" android:textSize="14dp" android:inputType="textUri"
        android:layout_marginRight="45dp" android:layout_height="wrap_content" android:layout_width="fill_parent">
    </EditText>

    <Button android:id="@+id/getGraph"
        android:text="@string/get"
        android:layout_toRightOf="@id/feedUrl" 
        android:layout_alignParentRight="true"          
        android:layout_height="wrap_content" android:width="45dp" android:layout_width="wrap_content">
    </Button>

</RelativeLayout>

<WebView android:id="@+id/wv1" android:layout_height="wrap_content"
    android:layout_width="fill_parent" />
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

在eclipse插件布局创建器中,EditText和按钮正确显示.(见下面的截图)

替代文字

但是在设备和模拟器上,按钮不会被隐藏.(见下面的截图)

替代文字

知道为什么按钮隐藏在设备中?

layout android relativelayout android-linearlayout

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

从shell脚本中的变量中删除非ascii字符

我在shell脚本中输出命令的输出并将结果存储在变量中.

由于grep使用的解析逻辑,这个变量可能具有非ascii字符,这是一个非常极端的情况.

问题:如何从shell脚本中的此变量中删除这些非ascii字符,以便我可以在后续命令中使用该变量?

shell non-ascii-characters

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

为vim的ftdetect文件夹中的新文件类型更正文件名

我正在为vim中的arduino文件创建一个新的文件类型.

我查看了ftdetect文档,并指定.vim/ftdetect/应该创建一个在文件夹中包含以下内容的新文件

au BufRead,BufNewFile *.mine        set filetype=mine
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,文件扩展名和文件类型都相同,并使用名称创建文件 mine.vim

但是对于arduino,文件扩展名(.inopde)与filetype(arduino)不同

我的问题是在这种情况下应该是什么文件名.它应该是inoarduino

vim

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

xargs and argument position

I have a directory with a couple of PHP files in multiple levels. I want to execute the following command for all of these PHP files.

php ../../i18n/add-textdomain.php -i bulk-delete file_name.php
Run Code Online (Sandbox Code Playgroud)

So, I wrote the following find command and piped it to xargs

find . -iname "*.php" -type f -print0| xargs -0 php ../../i18n/add-textdomain.php -i bulk-delete
Run Code Online (Sandbox Code Playgroud)

The php command expects the PHP file to be the last argument. I assumed xargs will append the files listed by find at the …

unix xargs

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

在Google Chrome扩展图标中显示未读项目数

是否可以在Google Chrome扩展程序图标中显示未读项目数?如果是,那么有人可以指点我解释如何做到这一点吗?

我浏览了Google Chrome扩展程序文档,但无法理解

notifications google-chrome google-chrome-extension

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

bash 中不区分大小写的文件名搜索和检索

我想获取 github 存储库的自述文件以进行进一步处理。问题是文件名可能有不同的大小写,例如readme.mdorReadme.mdREADME.md​​。

我想找到自述文件的哪个变体,并在 shell 变量中检索该文件名以进行进一步处理。我还希望这个脚本能够在 Ubuntu 和 Mac 上运行。

上一个问题中,我发现我可以使用find

find -ipath 'readme.md'

但这在 mac 中不起作用。

unix bash shell find sh

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

有没有办法检索具有特定密码的所有用户

我使用Laravel的Hashing功能在表中存储加密密码.

我知道我可以使用Hash::check函数来检查普通密码是否与加密密码匹配,但是有没有办法从数据库中检索具有给定密码的所有用户而不实际获取所有用户,然后使用该Hash::check函数比较每个用户的密码?

编辑:

用例是我想知道有多少用户使用给定的密码.

php hash laravel

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

在Laravel中通过多对多关系通过has-man-through检索远距离关系

我的应用程序中有以下模型

  • 用户
  • 任务

具有以下关系

  • 用户和组具有多对多关系
  • 任务和组具有多对多关系

因此,基本上,一个用户可以属于多个组,每个组可以具有多个任务。

以下是表结构。

使用者

  • ID
  • 名称

团体

  • ID
  • 名称

任务

  • ID
  • 名称

group_user

  • ID
  • group_id(带有组表的外键)
  • user_id(用户表的外键)

group_tasks

  • ID
  • group_id(带有组表的外键)
  • task_id(带有任务表的外键)

现在,我想为用户检索所有任务。

我尝试了以下方法,但两种方法均无效。

方法1

  • $user->groups() 提供用户的组列表
  • $group->tasks() 给出一个小组的任务清单

所以我尝试了

$user->groups()->tasks() 但这没用。

方法2

通过将它添加到我的用户模型中来尝试了“ 具有穿透力”

public function tasks()
{
    return $this->hasManyThrough(Task::class, Group::class);
}
Run Code Online (Sandbox Code Playgroud)

但即使那样也没有用。以下是我得到的错误

QueryException in Connection.php line 713:
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'groups.user_id' in 'field list' (SQL: select `tasks`.*, `groups`.`user_id` from `tasks` inner join `groups` on `groups`.`id` = `tasks`.`group_id` where …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-5.2

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

在C++中将另一个类作为类成员

我正在尝试将一段C++代码重构为一个类.现在代码看起来像这样

USB Usb;
ACMAsyncOper AsyncOper;
ACM Acm(&Usb, &AsyncOper);
Run Code Online (Sandbox Code Playgroud)

我想将此代码移动到类的构造函数中.此外,我想拥有变量Usb,AsyncOperAcm作为类的成员变量.

我把它写成如下

// eZ430.h

class eZ430
{
    public:
        eZ430();    
    private:
        USB Usb;
        ACMAsyncOper AsyncOper;
        ACM Acm;
};


// eZ430.cpp
#include "eZ430.h"

eZ430::eZ430() {
    USB Usb;
    ACMAsyncOper AsyncOper;
    ACM Acm(&Usb, &AsyncOper);
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.我是C++的新手,无法让它工作.

请告诉我如何实施它.谢谢.

编辑:当我在构造函数中有以下代码时

eZ430::eZ430() {
    USB Usb;
    ACMAsyncOper AsyncOper;
    ACM Acm(&Usb, &AsyncOper);
}
Run Code Online (Sandbox Code Playgroud)

我收到了错误 error: expected identifier before '&' token

当我改变它

eZ430::eZ430() {
    USB Usb;
    ACMAsyncOper AsyncOper;
    ACM Acm(&Usb, &AsyncOper);
}
Run Code Online (Sandbox Code Playgroud)

我收到了错误 no matching …

c++ constructor class

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