[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 09:50 / Filesize : 209 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Visual Studio 2008 Part 14



1 名前:デフォルトの名無しさん [2008/12/23(火) 13:56:37 ]
■公式
www.microsoft.com/japan/msdn/vstudio/default.aspx

■前スレ
Visual Studio 2008 Part 13
pc11.2ch.net/test/read.cgi/tech/1226134233/

■リンク
Visual Studio 2008に搭載された17の新機能
www.atmarkit.co.jp/fdotnet/special/visualstudio2008_01/visualstudio2008_01_01.html
5000個のバグと戦った、MSが「Visual Studio 2008」RTM出荷
www.atmarkit.co.jp/news/200711/20/vs.html

その他テンプレ>>2-5

792 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 19:12:25 ]
VC++2008で
sizeof(szBuf)/sizeof(TCHAR)
のようなマクロって存在しますか?

793 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 19:14:06 ]
>>792
自分で定義すればいいんでね?

794 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 19:15:03 ]
ブラウザ型が気持ち悪くてWinCVS現役な人いる?

795 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 19:15:31 ]
既にあったら無駄になるから聞いてるんだよ。このタコ

796 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 19:17:16 ]
てめぇの存在が無駄なんだよ

797 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 19:28:21 ]
>>792
_countof

798 名前:792 mailto:sage [2009/01/31(土) 19:56:47 ]
>>793
いろんなとこで使うので、自分で定義するとめんどうなんで

>>797
できました。ありがとう

799 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:38:01 ]
winならARRAYSIZE使ったほうがいいんじゃね

800 名前:デフォルトの名無しさん mailto:sage [2009/01/31(土) 20:49:09 ]
TR1 の std::tr1::array 使って size() という手もある。




801 名前:デフォルトの名無しさん [2009/02/01(日) 00:02:04 ]
最近VB6から.netに移行したんだけど誰か助けてくれ。

データベースの質問なんだけど、TableAdapterのUpdateメソッド使っても何をどうやっても更新できない。

1:Dim dt As New DataTable, dr As DataRow

2: dt = DataSetA.CustamerMain
3: dr = DataSetA.Tables("CustamerMain").NewRow
4: dr("得意先ID") = 1
5: dr("得意先名") = "A社"

6:DataSetA.Tables("CustamerMain").Rows.Add(dr)
7:DataGrid1.DataSource = CarrigeDataDataSet.CustamerMain
8:Me.CustamerMainTableAdapter.Update(DataSetA.CustamerMain)

データグリッドにデータセットの内容写してみるとちゃんと追加されてる。
この箇所だけでもう2週間悩んでるorz
誰か御助けを・・・

802 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 00:12:58 ]
スレ違い

803 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 00:14:29 ]
落ち着いてこっちできくんだ
pc11.2ch.net/test/read.cgi/tech/1229695062/

804 名前:801 [2009/02/01(日) 00:26:13 ]
>>803
誘導サンクス。
しかも文面までコピペしていただいて、もうほんとになんというかサンクス!

805 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 00:27:32 ]
Express EditionとStandard Editionでリファクタリングとデバッグの
機能面での違いが詳しく説明してあるとこってありますか?
Express Editionだとこのあたりの機能があまりに貧弱なんで
Standarでも買おうかと思ってるんだけど、Proまでいかないと
あんまかわんねーよってのならExpressで我慢しようかなと考えてます。

806 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 00:29:07 ]
>>805
www.atmarkit.co.jp/fdotnet/special/vs2005compare/vs2005compare_02.html

807 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 00:31:22 ]
Pro使ってるけどほとんど名前の変更しか使ってないな。
あとはたまーにメソッドの抽出をやるくらい。


808 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 00:43:45 ]
2005の比較だと、StandardでWindows Mobileの開発できるんだと
誤解しちゃう(2008ではProだけになった)おれみたいな奴が出てくるので
www.microsoft.com/japan/msdn/vstudio/products/vs08/compare.aspx
download.microsoft.com/download/e/4/f/e4f88457-4e2e-4426-a2c5-77f9bc38b21f/VisualStudio2008-ProductComparison.pdf
こちらで。

809 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:39:19 ]
どうもありがとう
pdfのはかなり細かくのってるね
StandardとProだと大きく違うのはモバイルとオフィス開発くらいか
基本機能は一緒ってことならStandardでいいかな。

810 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 01:43:56 ]
俺もstdがオヌヌメ



811 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 02:02:07 ]
オフィス開発ってどんなの?
お仕事ある??

812 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 05:29:02 ]
山ほどある

813 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 09:11:27 ]
>>807
C++にも名前の変更は欲しいな。あとvarも欲しいなあ。VC++10に期待できるだろうか。


814 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 10:01:39 ]
VC10にはリファクタリングは間に合わないらしい
その次ぐらいか?

815 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 10:28:20 ]
>>813
var って、型推論?
C++ 0x の auto は2010で入るみたいよ。

816 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 10:38:54 ]
VARIANTみたいなのじゃね?

817 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 11:03:14 ]
>>813
2003,2005,2008にはRefactor! for C++とかRefactor! Proで。
2010はまだCTP入れてないので判らん。

818 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:39:11 ]
何でも型なんていらない。
なんでいるの?逆に聞くけど

819 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:45:19 ]
単一言語ならテキスト的にどうとでもなるけど
.NETはクロスランゲージだからどうしてもそういう方法では無理がある

820 名前:819 mailto:sage [2009/02/01(日) 13:46:06 ]
メタプログラミングのことね



821 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 13:48:24 ]
なぁ、2008のUPGバージョン買ってきたんだけど
これってインストールするときとかに前バージョンの確認とかねーの?

822 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 14:01:57 ]
旧バージョン持ってるなら聞かないと思うが。

823 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 15:17:10 ]
>>818
ジェネリック

824 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 17:21:13 ]
いや、それが旧バージョン入れてないのよ。
途中で確認されると思って待ち構えてたのに
あっさりインストールが完了して拍子抜けよ。

825 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 18:08:53 ]
そんなもんだ。
昔はインスコディスクだのなんだのうるさかったけどな。

826 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 18:18:19 ]
VS2008に関しては何も確認ないね。
まぁ2008のExpressからもアップグレードできるという
最初からその価格で売れよって状態なので
実は持ってませんでしたでもいいのかも。

827 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 18:23:01 ]
>>826
Expressは2005のみ
Standard(→Pro)は2008でOK

828 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:15:59 ]
>>827
うんにゃ。2008のExpressからも可能だよ。
なんせ、Microsoftのサポートに直接連絡して聞いたからw

829 名前:827 mailto:sage [2009/02/01(日) 21:42:19 ]
あれ、おかしいな。おれもサポートに聞いたんだが、
@css.one.microsoft.comの人ね。
----
今回のケースの場合、2 ライセンス必要となりますが、Visual Studio 2005 Express Edition を
アップグレード対象製品として、Visual Studio 2008 アップグレード版を
お求めいただくことは可能でございます。

アカデミックパックとあわせて、購入をご検討いただければ幸いです。
※ Visual Studio 2008 Express Edition は、アップグレード版対象外です

【Visual Studio Express Edition の過去のバージョン】
www.microsoft.com/japan/msdn/vstudio/express/past/2005/
----
まー、どうでもいいんだろうけどさ。ダウンロードすればいいんだし。

830 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:48:48 ]
>>829
Microsoftのページでは2005のExpressが対象なんだけど
通販サイトで2008のExpressも対象と記述されていたことがあって、
そのときにどっちが正しいのか聞いたら「どっちでもいいですよ」だってさ。

実際うちには2005ないし、インストールもしてないっすよw



831 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 21:51:28 ]
通常版は情報弱者から金を巻き上げる為だけに存在すると何度言ったら

832 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:17:48 ]
情弱が養分になってるから俺らが安く買えるんだけど、
なんだか気分がすっきりしない

833 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:30:21 ]
ちんこ握れよ。
すっきりするぜ?

834 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:40:12 ]
ふぅ

835 名前:デフォルトの名無しさん mailto:sage [2009/02/01(日) 23:45:11 ]
>>832
TeamSystemのおかげのほうが大きいと思う。

836 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 00:19:53 ]
というか MSDN サブスクでという風潮が定着しちまったからだな


837 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 01:36:43 ]
VS2010のC++は0xになるの?

838 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 01:46:35 ]
0xってもう実装されてるコンパイラとかあるの?

839 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 01:47:11 ]
>>830
ちょうどこんなキャンペーンが。
ttp://www.microsoft.com/japan/vstudio/express/anniversary.aspx
どうやら、今までは対象外だったらしいw

840 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 01:54:24 ]
>>839
1日から開始とかタイムリーすぎるだろw
ずっと対象になってると思ってたわ

趣味でやってるけど、いい機会だしPro買ってみようか・・悩む。



841 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 01:57:58 ]
今年は上半期にVS2010のCTP出てくるだろうし、Subscriptionにするつもりが
ないなら、しばらく待ってみてもいいのでは?
買って半年で旧バージョンになっちゃうのももったいない。

842 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 02:06:50 ]
>>837
一部だけ。
www.codeguru.com/forum/showthread.php?t=466893
d.hatena.ne.jp/faith_and_brave/20081217/1229503972

しかし、これはフライングにもほどがあるだろと言いたい。
YES- Extern template (note: we have supported this since at least Visual C++ 4.0)



843 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 02:08:22 ]
>>841
確かにそうだね。
すぐ必要なわけじゃないし待つ事にするよ。

844 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 12:34:05 ]
>>818
よく誤解されるけど、型推論のautoと悪名高いバリアントはまったく別物。
型推論で型が厳密に決定できる。テンプレートを使うと型が複雑になってどうしても欲しくなる。


845 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 12:36:16 ]
買い控えでデフレスパイラルですな。

846 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 18:02:44 ]
つこうて番号ggったら只なのにいちいち手間かけてwww

847 名前:デフォルトの名無しさん [2009/02/02(月) 20:04:35 ]
まぴょーん☆するわけですね。わかります。


848 名前:デフォルトの名無しさん mailto:sage [2009/02/02(月) 21:43:56 ]
       //
     /  /   パカッ
     //⌒)∩__∩
    /.| .| ノ     ヽ
    / | |  ●   ● |     
   /  | 彡  ( _●_) ミ  まピョーん☆
   /  | ヽ  |∪|  /_
  // │   ヽノ  \/
  " ̄ ̄ ̄ ̄ ̄ ̄ ̄(..ノ

849 名前:デフォルトの名無しさん [2009/02/03(火) 13:36:35 ]
VC++でウィンドウズアプリケーション作ってるんだが...

開発に使ってるのとは別のPC上で起動しようとすると、
 アプリケーションの構成が狂ってるから起動できないんだぜ...
ってエラーがでるんだが。。
プロジェクトのプロパティからスタティックライブラリでMFCを使用するようにすると
解決するって風の噂で聞いたからやってみたら、
 未解決の外部シンボル _wWinMain@16 が関数 ___tmainCRTStartup で参照されました。
ってリンク時にエラーがでてくる...

...どうしたら別PCで起動できるようになる?

850 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 13:55:15 ]
未解決の外部シンボル _wWinMain
でググる



851 名前:デフォルトの名無しさん [2009/02/03(火) 13:56:29 ]
>>849
Unicodeアプリケーションになっていませんか?

852 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 14:07:39 ]
そもそもMFCアプリなの?
スタティックリンクと/MTでいけると思うが、設定変えたらリビルドね。

853 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 14:20:11 ]
#include <tchar.h>

854 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 15:36:57 ]
VS2010っていつ出るの?

855 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 15:48:32 ]
2011年

856 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 15:52:29 ]
騙されないぞ
来週でる

857 名前:デフォルトの名無しさん [2009/02/03(火) 17:19:36 ]
>>850
ぐぐった結果がMFC使用

>>851>>853
両方試したけど無理ぽ(;´д`)

>>852
そもそもMFCってなんなの?←

なんかよくわからんけど、エントリポイントを使わないようにしたらビルドできねぇ!
って思ったけどリビルドしたらできた。

お騒がせしました。

858 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 20:15:47 ]
デバッグ版を持って行ったとか

859 名前:デフォルトの名無しさん mailto:sage [2009/02/03(火) 20:22:13 ]
VB2008 Pro VBでWindowsAPPを作っているのですが
Datatableで表示したMicrosoft Accessのファイルを上書きしたいのですが
(datatableでデータベース表示 → いろいろと変更 → 保存を押すと保存完了)
どのようにしたらよいのでしょうか?

TableAdapter.UpdateQueryで使えそうだったのですがダメでした...。(自分のミスかも)

860 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 10:28:27 ]
>>686,>>706
以下の対処法もあるらしい(公式じゃないけど)
Micorosoft Connectより抜粋
https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=374550

void CXXXView::OnInitialUpdate()
{
  CScrollView::OnInitialUpdate();

// 以下のコードはPreCreateWindow(CREATESTRUCT&)に移動
//
//  CSize sizeTotal;
//  // TODO: このビューのサイズの合計を計算します。
//  sizeTotal.cx = sizeTotal.cy = 100;
//  SetScrollSizes(MM_TEXT, sizeTotal);
//
}
        ↓
BOOL CXXXView::PreCreateWindow(CREATESTRUCT& cs)
{
  // TODO: この位置で CREATESTRUCT cs を修正して Window クラスまたはスタイルを
  // 修正してください。
// 以下のコードはOnInitialUpdate()から移されたコード
  CSize sizeTotal;
  // TODO: このビューのサイズの合計を計算します。
  sizeTotal.cx = sizeTotal.cy = 100;
  SetScrollSizes(MM_TEXT, sizeTotal);

  return CScrollView::PreCreateWindow(cs);
}




861 名前:デフォルトの名無しさん [2009/02/04(水) 10:38:35 ]
express editionの使い方がわかりません。
よろしくお願いします。


862 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 11:10:17 ]
こちらこそよろしくお願いします。

863 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:25:14 ]
使い方が分からないなら、そのソフトは貴方には不要だと言う事ですね。


864 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:31:49 ]
>>861
1. アイコンをダブルクリックして起動します。
2. ウィンドウが現れるのでメニューにしたがって操作します。
以上です。

865 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 12:35:29 ]
まずやることを決めます

866 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 13:18:14 ]
説明書を読まないからこうなる。
ヘルプを印刷して本棚に入れておくと便利。

867 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 13:28:00 ]
本棚がありません

868 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 13:41:47 ]
>>867
まず本棚を買う

869 名前:デフォルトの名無しさん [2009/02/04(水) 17:36:04 ]
www.shuwasystem.co.jp/products/7980html/1944.html
この本買ったんですけどいきなり何の説明もなく知らないキーワードが出てくるし親切じゃないんですが。
完全に初心者から出来る本はないですか?


870 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 17:55:28 ]
5〜6冊くらい買って読んで使ってから言えや
知らない事がでてきたら調べろ



871 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:00:51 ]
C++/CLIなんて初心者が手を出すものじゃない
あれはC++とC#の両方をマスターした人が使うもの

872 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:04:27 ]
Visual C++ 2008をこれから始める本であってC++を始める本ではまったくないな
しかもC++/CLIという
これやるくらいならC#やった方がいいと思う
そもそも何をやりたいのかは知らないけど

873 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:10:34 ]
Visualが付いてない普通のC++の入門書を買うんだ
>>869はC++/CLIというC++とは似て非なる言語についての本なんだ
C++/CLIはもしどうしても必要になったときに仕方なく学んで嫌々使う言語だからスルーでおk

874 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 18:27:07 ]
俺はC++/CLIが触りたくなってそれを買ったな
過渡期のManaged C++の事にも触れてあって割と良本だと思った

875 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 19:17:02 ]
>>869
俺はCを少しかじった程度からC++/CLIでウィンドウズアプリ作り始めたけど、
何の本も読まずに今ではそれなりのもの作れるようになってるから頑張れ。超頑張れ。

876 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 19:29:24 ]
C#触ったことない人にとってはC++/CLIはGUIが簡単に作れて便利だと感じられるんだろうか

877 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 20:51:14 ]
C++/CLIは闇鍋言語

878 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 20:56:31 ]
普通はC++のライブラリをC#から利用するためのラッパにしか
使わないよなw

879 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:03:33 ]
逆もあり

880 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:21:53 ]
フォームデザイナはいらなかったな
>>869みたいな本があるから誤解する奴がいる



881 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:28:23 ]
C++/CLIが出た当初はこれぞ決定版と騒がれたんだけどな。
C#の出来が予想以上に良くて淘汰された。

882 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:33:07 ]
ぜんぜん違うだろ。

C++/CLI は 2005 からだし。

883 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:45:35 ]
C++/CLI なんて業務で組んでる人いるの?

884 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:46:40 ]
C# > VB.NET >> C++/CLI

885 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:50:23 ]
C++/CLIが主流になったりしたら.NETの意味がなくなるからなw

886 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:50:57 ]
C++/CLIはJNIが言語組み込みになったみたいなものだろ

887 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:51:56 ]
>>885
うぬ、/clr:safeと知っての狼藉か

888 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:54:07 ]
C++/CLIなんていう糞みたいなものを撒き散らすのはやめてほしい。
こっちに使う気が無くても、仕事している以上、お鉢が回ってくることもあるわけで。。


889 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 21:59:52 ]
MS 内でも使っているんだから製品として出てくるのは仕方がない

890 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:04:50 ]
MSとしてもC#でいいところは極力C#にする方針みたいだけどな



891 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:12:40 ]
クアッドコア+メモリ8GとそれなりのPC使ってるはずなのに
PowerShell起動するとプロンプト出るまでに数秒かかっていらつく。
コマンドプロンプトなら一瞬なのに。

まだ.NETに完全移行するのは早いだろ。とMSに言いたい。

892 名前:デフォルトの名無しさん mailto:sage [2009/02/04(水) 22:13:33 ]
そんなに遅いんだったらそもそも移行する理由がないよね。
ユーザーの立場から言わせてもらうと!






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<209KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef